jsp 输入界面:

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>Servlet计算器</title>
  8. </head>
  9. <body bgcolor="#afb4db">
  10. <%
  11. String s1 = "";
  12. Object ob = session.getAttribute("jg");
  13. if(ob != null){
  14. s1 = ob.toString();
  15. }
  16. session.invalidate();
  17. %>
  18. <form action="TestJSQ" method="post">
  19. <table border="1" align="center">
  20. <tr align="center"><td colspan="4">简易计算器</td></tr>
  21. <tr>
  22. <td colspan="4"><textarea name="text" id="tt" cols="22" rows="1"><%= s1 %></textarea></td></tr>
  23. <tr align="center">
  24. <td width="40" align="center"><input type="reset" value="C" style="width: 40px;"></td>
  25. <td width="40"><input type="button" value="off" onclick="doselect(this)"></td>
  26. <td width="40"><input type="button" value="+" onclick="doselect(this)" style="width: 40px;"></td>
  27. <td width="40"><input type="button" value="←" onclick="doselect(this)" style="width: 40px;"></td></tr>
  28. <tr align="center">
  29. <td><input type="button" value="7" onclick="doselect(this)"></td>
  30. <td><input type="button" value="8" onclick="doselect(this)"></td>
  31. <td><input type="button" value="9" onclick="doselect(this)"></td>
  32. <td><input type="button" value="-" onclick="doselect(this)" style="width: 40px;"></td></tr>
  33. <tr align="center">
  34. <td><input type="button" value="4" onclick="doselect(this)"></td>
  35. <td><input type="button" value="5" onclick="doselect(this)"></td>
  36. <td><input type="button" value="6" onclick="doselect(this)"></td>
  37. <td><input type="button" value="x" onclick="doselect(this)" style="width: 40px;"></td></tr>
  38. <tr align="center">
  39. <td><input type="button" value="1" onclick="doselect(this)"></td>
  40. <td><input type="button" value="2" onclick="doselect(this)"></td>
  41. <td><input type="button" value="3" onclick="doselect(this)"></td>
  42. <td><input type="button" value="/" onclick="doselect(this)" style="width: 40px;"></td></tr>
  43. <tr align="center">
  44. <td><input type="button" value="." onclick="doselect(this)"></td>
  45. <td><input type="button" value="0" onclick="doselect(this)"></td>
  46. <td><input type="submit" value="=" onclick="doselect(this)"></td>
  47. <td><input type="button" value="%" onclick="doselect(this)" style="width: 40px;"></td></tr>
  48.  
  49. </table>
  50. </form>
  51. </body>
  52. </html>
  53. <script language="javascript">
  54.  
  55. function doselect(bt){
  56. var obj = document.getElementById('tt');
  57. var s = bt.value;
  58. obj.innerHTML += s;
  59. if(s == "←"){
  60. var a = obj.value;
  61. s = a.substring(0, a.length-2);
  62. obj.innerHTML = s;
  63. }
  64. if(s == "off"){
  65. window.close();
  66. }
  67. }
  68. </script>

Servlet后台处理:

  1. package com.sp.web;
  2.  
  3. import java.io.IOException;
  4. import javax.servlet.ServletException;
  5. import javax.servlet.http.HttpServlet;
  6. import javax.servlet.http.HttpServletRequest;
  7. import javax.servlet.http.HttpServletResponse;
  8. import javax.servlet.http.HttpSession;
  9.  
  10. public class Test_JSQ extends HttpServlet {
  11. private static final long serialVersionUID = 1L;
  12.  
  13. public Test_JSQ() {
  14. super();
  15.  
  16. }
  17.  
  18. protected void doGet(HttpServletRequest request, HttpServletResponse response)
  19. throws ServletException, IOException {
  20.  
  21. response.setCharacterEncoding("UTF-8");
  22. response.setContentType("text/html");
  23. String st = request.getParameter("text").trim();
  24.  
  25. int a = 0;
  26. if (st.contains("+")) {
  27. a = st.indexOf("+");
  28. } else if (st.contains("-")) {
  29. a = st.indexOf("-");
  30. } else if (st.contains("x")) {
  31. a = st.indexOf("x");
  32. } else if (st.contains("/")) {
  33. a = st.indexOf("/");
  34. } else if (st.contains("%")) {
  35. a = st.indexOf("%");
  36. }
  37. Double n1 = Double.parseDouble(st.substring(0, a));
  38. Double n2 = Double.parseDouble(st.substring(a + 1, st.length() - 1));
  39. String s = st.charAt(a) + "";
  40.  
  41. String rs = "";
  42. if (s.equals("+")) {
  43. rs = n1 + n2 + "";
  44.  
  45. } else if (s.equals("-")) {
  46. rs = n1 - n2 + "";
  47.  
  48. } else if (s.equals("x")) {
  49. rs = n1 * n2 + "";
  50.  
  51. } else if (s.equals("/")) {
  52. if (n2 != 0.0) {
  53. rs = n1 / n2 +"";
  54.  
  55. } else {
  56. rs = "error by 0";
  57. }
  58. } else if (s.equals("%")) {
  59. rs = n1 % n2 + "";
  60.  
  61. }
  62. request.getSession().setAttribute("jg", rs);
  63. response.sendRedirect("jisuanqi.jsp");
  64. ;
  65. }
  66.  
  67. protected void doPost(HttpServletRequest request, HttpServletResponse response)
  68. throws ServletException, IOException {
  69.  
  70. doGet(request, response);
  71. }
  72.  
  73. }

界面展示:                                                                                        当除数=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. vue.js的学习之路

    因为对jquery的ajax渲染很不满,所以我就来学vue.js了 1)vue.js是什么 官方解释为:Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型 ...

  2. 基于Socket的Winform例子

    一.直接上效果图 二.Socket握手 三.服务端 Thread threadWatch = null;// 负责监听客户端的线程 Socket socketWatch = null;// 负责监听客 ...

  3. WINDOWS系统注册表(读、写)

    读取注册表 写入注册表

  4. 构建工具系列一--Travis-cli

    本文地址: http://www.cnblogs.com/blackmanba/articles/continuous-integration-tool-travis-cli.html或者http:/ ...

  5. spring MVC +freemarker + easyui 实现sql查询和执行小工具总结

    项目中,有时候线下不能方便的连接项目中的数据源时刻,大部分的问题定位和处理都会存在难度,有时候,一个小工具就能实时的查询和执行当前对应的数据源的库.下面,就本人在项目中实际开发使用的小工具,实时的介绍 ...

  6. spring mvc 项目 相关配置文件小结

    web.xml文件主要配置如下: 需要加载的配置文件: 类路径下,可以使用通配符配置  类似:classpath:conf/spring/*/*.xml, <context-param> ...

  7. CF992E Nastya and King-Shamans_线段树

    Code: #include<cstdio> #include<algorithm> using namespace std; const int maxn = 200000 ...

  8. Android 7.0 Gallery图库源码分析1 - 初识Gallery源码

    分析一个项目的源代码时,第一件事就是查看清单文件,找到程序入口,我们从Gallery2源码的清单文件中可以看到GalleryActivity是此应用的启动Activity. <activity ...

  9. npm run eject 命令后出现This git repository has untracked files or uncommitted changes错误

    npm run eject 暴露隐藏的文件,不可逆 结果出现下面的问题 This git repository has untracked files or uncommitted changes: ...

  10. IOS-iOS 8 : Location Services not working(iOS 8 定位应用定位失败)

    如果是xcode6和ios 8的话,需要调用 CLLocationManager requestAlwaysAuthorization 方法,具体步骤如下: 1. @interface里: CLLoc ...