首先需要有一个封装计算数和计算的类
package cn.itcast.domain; import java.math.BigDecimal; // 封装计算的bean public class CalculatorBean { private String firstNum="0"; private char operator='+'; private String secondNum="0"; private String result; public String getFirstNum() { return firstNum; } public void setFirstNum(String firstNum) { this.firstNum = firstNum; } public char getOperator() { return operator; } public void setOperator(char operator) { this.operator = operator; } public String getSecondNum() { return secondNum; } public void setSecondNum(String secondNum) { this.secondNum = secondNum; } 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("被除数不能为0"); } this.result = first.divide(second,20,BigDecimal.ROUND_HALF_UP).toString(); break; default: throw new RuntimeException("运算符不正确"); } } }
然后再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>Insert title here</title> </head> <body style="text-align:center;"> <jsp:useBean id="CalculatorBean" class="cn.itcast.domain.CalculatorBean"></jsp:useBean> <!-- 封装所有属性 --> <jsp:setProperty property="*" name="CalculatorBean"/> <% try{ CalculatorBean.calculate(); }catch(Exception e){ out.write(e.getMessage()); } %> <hr> 计算结果是: <jsp:getProperty property="firstNum" name="CalculatorBean"/> <jsp:getProperty property="operator" name="CalculatorBean"/> <jsp:getProperty property="secondNum" name="CalculatorBean"/> = <jsp:getProperty property="result" name="CalculatorBean"/> <hr> <form action="/day08/calculator.jsp" method="post"> <table width="40%" border="1" align="center"> <tr> <td colspan="2">简单的计算器</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="2"> <input type="submit" value="计算"> </td> </tr> </table> </form> </body> </html>
结果是
可用于计算