Servlet简单计算器 2.0
jsp 输入界面:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Servlet计算器</title>
</head>
<body bgcolor="#afb4db">
<%
String s1 = "";
Object ob = session.getAttribute("jg");
if(ob != null){
s1 = ob.toString();
}
session.invalidate();
%>
<form action="TestJSQ" method="post">
<table border="1" align="center">
<tr align="center"><td colspan="4">简易计算器</td></tr>
<tr>
<td colspan="4"><textarea name="text" id="tt" cols="22" rows="1"><%= s1 %></textarea></td></tr>
<tr align="center">
<td width="40" align="center"><input type="reset" value="C" style="width: 40px;"></td>
<td width="40"><input type="button" value="off" onclick="doselect(this)"></td>
<td width="40"><input type="button" value="+" onclick="doselect(this)" style="width: 40px;"></td>
<td width="40"><input type="button" value="←" onclick="doselect(this)" style="width: 40px;"></td></tr>
<tr align="center">
<td><input type="button" value="7" onclick="doselect(this)"></td>
<td><input type="button" value="8" onclick="doselect(this)"></td>
<td><input type="button" value="9" onclick="doselect(this)"></td>
<td><input type="button" value="-" onclick="doselect(this)" style="width: 40px;"></td></tr>
<tr align="center">
<td><input type="button" value="4" onclick="doselect(this)"></td>
<td><input type="button" value="5" onclick="doselect(this)"></td>
<td><input type="button" value="6" onclick="doselect(this)"></td>
<td><input type="button" value="x" onclick="doselect(this)" style="width: 40px;"></td></tr>
<tr align="center">
<td><input type="button" value="1" onclick="doselect(this)"></td>
<td><input type="button" value="2" onclick="doselect(this)"></td>
<td><input type="button" value="3" onclick="doselect(this)"></td>
<td><input type="button" value="/" onclick="doselect(this)" style="width: 40px;"></td></tr>
<tr align="center">
<td><input type="button" value="." onclick="doselect(this)"></td>
<td><input type="button" value="0" onclick="doselect(this)"></td>
<td><input type="submit" value="=" onclick="doselect(this)"></td>
<td><input type="button" value="%" onclick="doselect(this)" style="width: 40px;"></td></tr> </table>
</form>
</body>
</html>
<script language="javascript"> function doselect(bt){
var obj = document.getElementById('tt');
var s = bt.value;
obj.innerHTML += s;
if(s == "←"){
var a = obj.value;
s = a.substring(0, a.length-2);
obj.innerHTML = s;
}
if(s == "off"){
window.close();
}
}
</script>
Servlet后台处理:
package com.sp.web; import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession; public class Test_JSQ extends HttpServlet {
private static final long serialVersionUID = 1L; public Test_JSQ() {
super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
String st = request.getParameter("text").trim(); int a = 0;
if (st.contains("+")) {
a = st.indexOf("+");
} else if (st.contains("-")) {
a = st.indexOf("-");
} else if (st.contains("x")) {
a = st.indexOf("x");
} else if (st.contains("/")) {
a = st.indexOf("/");
} else if (st.contains("%")) {
a = st.indexOf("%");
}
Double n1 = Double.parseDouble(st.substring(0, a));
Double n2 = Double.parseDouble(st.substring(a + 1, st.length() - 1));
String s = st.charAt(a) + ""; String rs = "";
if (s.equals("+")) {
rs = n1 + n2 + ""; } else if (s.equals("-")) {
rs = n1 - n2 + ""; } else if (s.equals("x")) {
rs = n1 * n2 + ""; } else if (s.equals("/")) {
if (n2 != 0.0) {
rs = n1 / n2 +""; } else {
rs = "error by 0";
}
} else if (s.equals("%")) {
rs = n1 % n2 + ""; }
request.getSession().setAttribute("jg", rs);
response.sendRedirect("jisuanqi.jsp");
;
} protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { doGet(request, response);
} }
界面展示: 当除数=0 时:

关键问题在点击各个按键的时候,同时在文本域中显示想要输入的内容,当点击“←”的时候 输入的内容会自动往前退一格。
还有不知道什么原因,在计算加减乘模的时候没有问题但是当运算除法的时候总是会报数据格式错误,所以把“÷” 改成“/”之后就莫名其妙的解决了
Servlet简单计算器 2.0的更多相关文章
- HDU1237 简单计算器 2016-07-24 13:34 193人阅读 评论(0) 收藏
简单计算器 Problem Description 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值. Input 测试输入包含若干测试用例,每个测试用例占一行,每行不超过 ...
- 1.C#WinForm基础制作简单计算器
利用c#语言编写简单计算器: 核心知识点: MessageBox.Show(Convert.ToString(comboBox1.SelectedIndex));//下拉序号 MessageBox.S ...
- 自己动手写计算器v1.0
今天突发奇想,想着看了还几个设计模式了,倒不如写点东西来实践它们.发现计算器这种就比较合适,打算随着设计模式的学习,会对计算器不断的做改进. 包括功能的增加和算法的改进.初学者难免犯错,希望大家不吝指 ...
- 菜鸟学Android编程——简单计算器《一》
菜鸟瞎搞,高手莫进 本人菜鸟一枚,最近在学Android编程,网上看了一些视频教程,于是想着平时手机上的计算器应该很简单,自己何不尝试着做一个呢? 于是就冒冒失失的开撸了. 简单计算器嘛,功能当然很少 ...
- 使用jsp/servlet简单实现文件上传与下载
使用JSP/Servlet简单实现文件上传与下载 通过学习黑马jsp教学视频,我学会了使用jsp与servlet简单地实现web的文件的上传与下载,首先感谢黑马.好了,下面来简单了解如何通过使用 ...
- PAT 06-1 简单计算器
想看一般简单计算器实现的看客不好意思了,这不是你想要点东西,此处题设为“只能进行加减乘除”.“都是整数”.”优先级相同“和"从左到右".此题来自PAT(http://www.pat ...
- PHP实现简单计算器
<!--简单的计算器--> <!DOCTYPE html> <html> <head> <title>PHP实现简单计算器</titl ...
- c#部分---网吧充值系统;简易的闹钟;出租车计费;简单计算器;对战游戏;等额本金法计算贷款还款利息等;随机生成10个不重复的50以内的整数;推箱子;
网吧充值系统namespace ConsoleApplication1 { class Program { struct huiyuan { public string name; public st ...
- JavaWeb学习记录(二十)——Model1模式(javaBean+jsp)实现简单计算器案例
¨JSP技术提供了三个关于JavaBean组件的动作元素,即JSP标签,它们分别为: ¨<jsp:useBean>标签:用于在JSP页面中查找或实例化一个JavaBean组件. ¨< ...
随机推荐
- webrtc所有平台下载编译步骤详细说明
webrtc所有平台下载编译步骤详细说明 1.安装depot tools Windows:国外下载:https://storage.googleapis.com/chrome-infra/depot_ ...
- 循环引用的weak和assgin
__weak 当对象销毁后weakSelf指向的地址为nil __unsafe_unretained 挡圈对象销毁后,weakSelf执行的地址为不变,而地址对应对象已经销毁,再次访问该对象就崩溃,相 ...
- springMVC+uploadify3.1 文件上传 demo
uploadify3.1 api 可参考:(点击打开链接) 需要springmvc的jar包 1.upload.jsp(主要代码) <script type="text/javascr ...
- Redis运维时需要注意的参数
1: 内存 Memory used_memory:859192 数据结构的空间 used_memory_rss:7634944 实占空间 mem_fragmentation_ratio:8.89 前2 ...
- thinkphp连接数据库,会有大量的sleep连接
show processlist; 说明各列的含义和用途, id列:一个标识,你要kill 一个语句的时候很有用. user列: 显示当前用户,如果不是root,这个命令就只显示你权限范围内的sql语 ...
- CF859C Pie Rules 动态规划 逆推_思维题
题意:有 nnn 个物品,每个物品有不同的价值,物品按顺序分给两个人,有一块令牌,每回合拥有令牌的人拥有物品的分配权,但是该回合未获得物品的那个人会在下回合获得令牌,开始令牌在Bob手里,两个人都采取 ...
- jquery 终止循环
jQuery中each类似于javascript的for循环 但不同于for循环的是在each里面不能使用break结束循环,也不能使用continue来结束本次循环,想要实现类似的功能就只能用ret ...
- python中try…except的使用,处理程序异常
通常情况下,在python中运行程序,多多少少会出现程序异常的问题,try……except能很好的解决程序中的异常.以下是其用法,在不同位置时进行什么样的工作和起到什么样的作用. try: 可能出现异 ...
- django-1-框架介绍
<<<python虚拟环境>>> 用django框架做web开发必须要用到python虚拟环境,而且一个虚拟环境只能创建一个django项目,如果创建多个djang ...
- 《你又怎么了我错了行了吧》【Beta】Scrum meeting 1
第一天 日期:2019/6/24 前言: 第1次会议在女生宿舍召开 对前面的开发成果进行验收和测试,继续完善项目 1.1 今日完成任务情况以及明日任务安排 姓名 当前阶段任务 下一阶段任务 刘 佳 对 ...