以下是代码:计算器。爪哇岛复制代码代码如下:套餐。阿莫斯。模型;
导入Java。数学。BigDecimal
/* * * @类名:计算器* @描述:计算器* @作者: amos Li * @ email :[email protected]* @日期2014年3月20日1:04:59am */公共类计算器{私有字符串第一个num=' 0私有字符串第二个num=" 0私有字符运算符=' ';私有字符串结果;
公共字符串GetResult(){ 0返回结果;}
公共字符getOperator() { return运算符;}
公共void setOperator(char运算符){ this.operator=operator}
public void setResult(String result){ this。结果=结果;}
public String getfirst num(){返回第一个num;}
public void set first num(String first num){ this。第一个数字=第一个数字。trim();}
public String getSecondnum(){ return secondnum;}
public void setSecondnum(String secondnum){ this。secondnum=secondnum。trim();}
public void calculate(){ big decimal a=new big decimal(这。第一个数字);BigDecimal b=新的大小数(这个。第二数量);开关(这个。运算符){ case ' ' :这。结果=a .增加(b).toString();打破;case '-': this.result=a。减法(b)1 .toString();打破;大小写* " : this . result=a。乘(b)1 .toString();打破;大小写'/' : if(b . double value()==0){ 0引发新的RuntimeException(“”被除数不能为零');} this.result=a.divide(b,10,BigDecimal .四舍五入).toString();打破;default: break} }}
calculator.jsp
复制代码代码如下:%@页面语言=' Java '内容类型=' text/html;charset=UTF-8 '页面编码=' UTF-8 ' %!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN ' ' http://www .w3。org/TR/HTML 4/松散。DTD ' HTML hearteta http-equiv=' Content-Type ' Content=' text/HTML;charset=UTF-8'titlejsp计算器/title/head body JSP : usebean id=' calcBean ' class=' com。阿莫斯。模特。计算器'/JSP : usebean JSP 3360 set property=' * ' name=' calcBean '/% calcBean。计算();% hr计算结果是: jsp:getProperty属性='firstnum '名称=' calcBean '/JSP : get property属性='运算符'名称=' calcBean '/JSP : get property属性='secondnum '名称=' calcBean '/JSP 3360 getproperty属性=“结果”名称='calcBean'/hr表单操作='/jsp/calculator.jsp '方法='post '表格样式=' text-align 3360 centertr td colspan='2 '简单的计算器TD/tr/tr第一个参数/TD TD TD input type=' text ' name=' first num '/TD/tr TD select name=' operator ' option value=' '/option option value='-'-/option option value=' * ' */option option value='/'//option/select/TD/tr TD第二个数/TD TD TD输入类型=' text '名称=' second num '/TD/tr TD按钮name='calc' type='submit '计算/button/TD/tr/table/form/body/html
代码介绍
1)这里注意如果要进行精度运算,用双人双份很容易失真,比如,a=0.1,b=0.02,a b=?复制代码代码如下:0.1 0.02=0.12000000000000001
这里是因为计算机底层只认识0和1,而两倍是64位精度,所以在计算时,很容易失真。
建议做运算的时候使用大十进制或者大整数类进行运算,调用其原有的相加,相减等方法即可实现加减等操作。
2)jsp主要用到的就是jsp:useBean进行实例化对象,jsp:setProperty和jsp:getProperty进行设值和取值。
3)关于错误页面内容的配置:
在web.xml中添加如下内容,捕获例外:
复制代码代码如下:错误-页面exception-typejava.lang.Exception/exception-type位置/错误/错误。JSP/位置/错误-页面
同时在error.jsp页面中将错误信息显示出来:
复制代码代码如下:抱歉,出错了!% out。打印(异常。getmessage());%
补充:JSP有两种开发模式:
SUN引入JSP技术后,还推荐了两种web应用开发模式,一种是JSP JavaBean模式,另一种是Servlet JSP JavaBean模式。1)JSP JavaBean模式适用于业务逻辑不太复杂的web应用的简单开发和开发。在这种模式下,使用JavaBean封装业务数据,JSP负责处理用户请求和显示数据;2)servlet jsp javabean(MVC)模式适合开发复杂的web应用。在这种模式下,Servlet负责处理用户请求,JSP负责数据显示,JavaBean负责数据封装。Servlet、JavaBean模式的程序在各个模块之间有清晰的层次结构,推荐用于web开发。
在这种情况下,采用第一种开发模式。
PS:这里推荐两个本站的在线计算器,都是js实现的,功能强大。相信对你深入理解JavaScript数学运算和网页设计会有帮助:
在线标准计算器:http://tools.jb51.net/jisuanqi/jsq.
在线科学计算器:http://tools.jb51.net/jisuanqi/jsqkexue.