日期:2014-05-16 浏览次数:20389 次
package cn.com.caculate; import java.math.BigDecimal; public class caculate { private String firstNum="0"; private String secondNum="0"; private char operator='+'; private String result="0"; public String getFirstNum() { return firstNum; } public void setFirstNum(String firstNum) { this.firstNum = firstNum; } public String getSecondNum() { return secondNum; } public void setSecondNum(String secondNum) { this.secondNum = secondNum; } public char getOperator() { return operator; } public void setOperator(char operator) { this.operator = operator; } public String getResult() { return result; } public void setResult(String result) { this.result = result; } public void calculate() { BigDecimal first=new BigDecimal(this.firstNum); BigDecimal second=new BigDecimal(this.secondNum); switch(this.operator) { case '+': this.result=first.add(second).toString(); break; case '-': this.result=first.subtract(second).toString(); break; case '*': this.result=first.multiply(second).toString(); break; case '/': if(second.doubleValue()==0) { throw new RuntimeException("除零异常!"); } this.result=first.divide(second, 20, BigDecimal.ROUND_HALF_UP).toString(); break; default: throw new RuntimeException("操作有错误!"); } } } <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'calculator.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body style="text-align:center;"> <jsp:useBean id="caculate" class="cn.com.caculate.caculate"></jsp:useBean> <jsp:setProperty name="caculate" property="*"/> <% try{ caculate.calculate(); } catch(Exception e){ out.write(e.getMessage()); } %> <br/>-----------------------------------------------------<br/> 计算结果是: <jsp:getProperty name="caculate" property="firstNum"/> <jsp:getProperty name="caculate" property="operator"/> <jsp:getProperty name="caculate" property="secondNum"/> = <jsp:getProperty name="caculate" property="result"/> <br/>-----------------------------------------------------<br/> <form action="calculator.jsp" method="post"> <table width="404" border="1"> <tr> <td colspan="3">简单的计算器</td> </tr> <tr> <td>第一个数</td> <td> <input type="text" name="firstNum"/> </td> </tr> <tr> <td>选择操纵</td> <td> <select name="operator"> <option value='+'>+</option> <option value='-'>-</option> <option va