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的更多相关文章

  1. HDU1237 简单计算器 2016-07-24 13:34 193人阅读 评论(0) 收藏

    简单计算器 Problem Description 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值. Input 测试输入包含若干测试用例,每个测试用例占一行,每行不超过 ...

  2. 1.C#WinForm基础制作简单计算器

    利用c#语言编写简单计算器: 核心知识点: MessageBox.Show(Convert.ToString(comboBox1.SelectedIndex));//下拉序号 MessageBox.S ...

  3. 自己动手写计算器v1.0

    今天突发奇想,想着看了还几个设计模式了,倒不如写点东西来实践它们.发现计算器这种就比较合适,打算随着设计模式的学习,会对计算器不断的做改进. 包括功能的增加和算法的改进.初学者难免犯错,希望大家不吝指 ...

  4. 菜鸟学Android编程——简单计算器《一》

    菜鸟瞎搞,高手莫进 本人菜鸟一枚,最近在学Android编程,网上看了一些视频教程,于是想着平时手机上的计算器应该很简单,自己何不尝试着做一个呢? 于是就冒冒失失的开撸了. 简单计算器嘛,功能当然很少 ...

  5. 使用jsp/servlet简单实现文件上传与下载

    使用JSP/Servlet简单实现文件上传与下载    通过学习黑马jsp教学视频,我学会了使用jsp与servlet简单地实现web的文件的上传与下载,首先感谢黑马.好了,下面来简单了解如何通过使用 ...

  6. PAT 06-1 简单计算器

    想看一般简单计算器实现的看客不好意思了,这不是你想要点东西,此处题设为“只能进行加减乘除”.“都是整数”.”优先级相同“和"从左到右".此题来自PAT(http://www.pat ...

  7. PHP实现简单计算器

    <!--简单的计算器--> <!DOCTYPE html> <html> <head> <title>PHP实现简单计算器</titl ...

  8. c#部分---网吧充值系统;简易的闹钟;出租车计费;简单计算器;对战游戏;等额本金法计算贷款还款利息等;随机生成10个不重复的50以内的整数;推箱子;

    网吧充值系统namespace ConsoleApplication1 { class Program { struct huiyuan { public string name; public st ...

  9. JavaWeb学习记录(二十)——Model1模式(javaBean+jsp)实现简单计算器案例

    ¨JSP技术提供了三个关于JavaBean组件的动作元素,即JSP标签,它们分别为: ¨<jsp:useBean>标签:用于在JSP页面中查找或实例化一个JavaBean组件. ¨< ...

随机推荐

  1. Java-MyBatis-杂项:MyBatis根据数组、集合查询

    ylbtech-Java-MyBatis-杂项:MyBatis根据数组.集合查询 1.返回顶部 1. foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合.foreach元素的 ...

  2. 1.matlab基础准备及入门

    1.1 Command Window(命令行窗口)运用入门 1 计算器的用法 2 数值变量与表达式 3. 计算结果的图形表示 代码及注释 function [ output_args ] = Unti ...

  3. Maven 学习笔记(一)

    定义 Maven 是基于项目对象模型(POM)的软件项目管理工具,它采用纯 java 编写,用于管理项目的构建,最早在 Jakata Turbine 项目中开始被使用.它包含了一个项目对象模型(Pro ...

  4. BZOJ 4184 线段树+高斯消元

    思路: 线段树表示的是时间 每回最多log个段 区间覆盖 一直到叶子 的线性基 xor 一下 就是答案 一开始没有思路 看了这篇题解 豁然开朗 http://www.cnblogs.com/joyou ...

  5. CheckBox的Attributes

    在看老同事写的代码的时候,发现了这样的一段代码:之前自己没有遇到过,记录下吧. 大致是这样的 foreach (GridViewRow grv in GridView1.Rows) { CheckBo ...

  6. js数组去重的四种方式

    // 删除重复的 function only(arr){ for(var i=0;i<arr.length;i++){ for(var j = i+1;j<arr.length;j++){ ...

  7. js浏览器问题

    前段时间做了个项目,里面关于手机移动端下载的问题 开始是判断微信.ios和android系统的下载 因为微信屏蔽点击事件和链接的缘故,需要通过打开新页面来进行下载 ios和android的下载分别为不 ...

  8. 使用短信猫发送短信java代码

    短信猫简单配置:https://www.cnblogs.com/Big-Boss/p/9699880.html 发送短信: package utils; import org.smslib.AGate ...

  9. Pyhton学习——Day47

    # 转载:http://www.cnblogs.com/yuanchenqi/articles/6357507.html# 外键:一种约束条件,与主键对应# 主表:被绑定的表:字表# 外键约束:# - ...

  10. UVALive-7198 Tall orders 微积分 二分

    题目链接:https://cn.vjudge.net/problem/UVALive-7198 题意 有悬链线方程$ f(x)=a \cdot cosh(\frac{s}{a}) $, 现有两个电线杆 ...