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组件. ¨< ...
随机推荐
- DB-MySql:MySQL 及 SQL 注入
ylbtech-DB-MySQL:MySQL 及 SQL 注入 1.返回顶部 1. MySQL 及 SQL 注入 如果您通过网页获取用户输入的数据并将其插入一个MySQL数据库,那么就有可能发生SQL ...
- 杂项:MSP(管理服务提供商)
ylbtech-杂项:MSP(管理服务提供商) 随着外包市场的日益成熟,为了满足企业的需求,一个全新的业务方向被开发出来—MSP.MSP采用业界领先的系统管理技术,由经验丰富的系统管理专家通过WAN为 ...
- leetcode 系列文章目录
leetcode 系列文章目录 0. 两数之和1. 两数相加 2. 无重复字符的最长子串 3. 寻找两个有序数组的中位数 4. 最长回文子串 5. Z 字形变换 6. 整数反转 7. 字符串转换整数 ...
- datatable dataRow
DataRow[] Drs = DtStockProduct.Select(Condition11); DtResult = DtStockProduct.Clone(); datatble tabl ...
- 微信公众号测试账号-redirect_uri域名与后台配置不一致,错误代码:10003
微信公众号测试账号-redirect_uri域名与后台配置不一致,错误代码:10003 进入公众平台测试账号. 登录公众账号--"开发者中心"--"公众平台测试账号&qu ...
- css元素垂直居中方法
1.Line-height 适用情景:单行文字垂直居中技巧 这个方式应该是最多人知道的了,常见于单行文字的应用,像是按钮这一类对象,或者是下拉框.导航此类元素最常见到的方式了.此方式的原理是在于将单行 ...
- Android 蓝牙4.0的连接和通讯
1.加入权限 <uses-sdk android:minSdkVersion=" android:targetSdkVersion="/> <uses-featu ...
- fiddler一些高级用法
https://my.oschina.net/leejun2005/blog/399108
- GDB Layout
layout:用于分割窗口,可以一边查看代码,一边测试.主要有以下几种用法:layout src:显示源代码窗口layout asm:显示汇编窗口layout regs:显示源代码/汇编和寄存器窗口l ...
- django patch 解决 ["'15428560000' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format."]
__init__.py import datetime from django.apps import AppConfig from django.db.models.fields import Da ...