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 value='*'>*</option> <option value='/'>/</option> </select> </td> </tr> <tr> <td>第二個數</td> <td> <input type="text" name="secondNum"/> </td> </tr> <tr> <td colspan="3"> <input type="submit" value="計算"/> </td> </tr> </table> </form> </body></html>