利用JavaBean实现简单的计算器,创建calculate.jsp页面,页面中表单数据和计算用JavaBean处理。
时间: 2024-10-25 22:08:56 浏览: 52
利用JavaBean来实现一个简单的计算器,我们首先需要创建一个JavaBean,然后在`calculate.jsp`页面中调用它的方法来进行计算。以下是步骤:
1. 创建JavaBean:创建一个名为`Calculator`的Java类,该类包含两个私有变量(如`double`类型的`num1`和`num2`)代表操作数,以及一个公共方法(如`add`, `subtract`, `multiply`, `divide`)来执行相应的数学运算。
```java
public class Calculator {
private double num1;
private double num2;
// 构造函数
public Calculator(double num1, double num2) {
this.num1 = num1;
this.num2 = num2;
}
// 加法方法
public double add() {
return num1 + num2;
}
// 减法方法
public double subtract() {
return num1 - num2;
}
// 乘法方法
public double multiply() {
return num1 * num2;
}
// 除法方法(注意检查除数是否为0)
public double divide() throws ArithmeticException {
if (num2 != 0)
return num1 / num2;
else
throw new ArithmeticException("Divisor cannot be zero");
}
}
```
2. 创建`calculate.jsp`页面:在JSP页面上,我们可以使用表单来获取用户的输入,并利用`<jsp:setProperty>`标签设置JavaBean的值。之后,使用`<jsp:getProperty>`标签获取方法的结果并显示在页面上。
```jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
<title>简单计算器</title>
</head>
<body>
<h2>简单计算器</h2>
<form action="calculate" method="post">
Number 1: <input type="number" name="num1"><br>
Number 2: <input type="number" name="num2"><br>
Operation: <select name="operation">
<option value="add">加法</option>
<option value="subtract">减法</option>
<option value="multiply">乘法</option>
<option value="divide">除法</option>
</select><br>
<input type="submit" value="计算">
</form>
<%@ page import="your.package.Calculator" %>
<%@ page import="java.lang.Math" %>
<% if (request.getParameter("operation") != null) { %>
<%
double num1 = Double.parseDouble(request.getParameter("num1"));
double num2 = Double.parseDouble(request.getParameter("num2"));
Calculator calculator = new Calculator(num1, num2);
String operation = request.getParameter("operation");
switch (operation) {
case "add":
out.println("结果: " + calculator.add());
break;
case "subtract":
out.println("结果: " + calculator.subtract());
break;
case "multiply":
out.println("结果: " + calculator.multiply());
break;
case "divide":
try {
out.println("结果: " + calculator.divide());
} catch (ArithmeticException e) {
out.println(e.getMessage());
}
break;
}
%>
<% } %>
</body>
</html>
```
阅读全文