利用JavaBean实现简单的计算器,创建calculate.jsp页面,页面中表单数据和计算用JavaBean处理。(请测试输入正确的数据和输入错误的数据及运算出错的三种情况)
时间: 2024-10-25 10:08:41 浏览: 64
利用JavaBean实现一个简单的在线计算器,首先需要创建一个JavaBean来封装计算逻辑和用户输入。例如,可以创建一个名为Calculator的JavaBean:
```java
public class Calculator {
private double num1;
private double num2;
private String operator;
// getters and setters
public void setNum1(double num1) { this.num1 = num1; }
public void setNum2(double num2) { this.num2 = num2; }
public void setOperator(String operator) { this.operator = operator; }
public double calculate() {
switch (operator) {
case "+":
return num1 + num2;
case "-":
return num1 - num2;
case "*":
return num1 * num2;
case "/":
if (num2 != 0) {
return num1 / num2;
} else {
throw new ArithmeticException("除数不能为零");
}
default:
throw new IllegalArgumentException("无效的运算符");
}
}
}
```
接下来,创建`calculate.jsp`页面,其中包含HTML表单元素用于获取用户输入,并通过`<jsp:getProperty>`标签绑定到JavaBean上:
```html
<!DOCTYPE html>
<html>
<head>
<title>简单计算器</title>
</head>
<body>
<form action="calculate" method="post">
<label for="num1">Number 1:</label>
<input type="number" id="num1" name="num1"><br>
<label for="num2">Number 2:</label>
<input type="number" id="num2" name="num2"><br>
<label for="operator">Operator:</label>
<select id="operator" name="operator">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select><br>
<input type="submit" value="Calculate">
</form>
<%@ page import="com.example.Calculator" %>
<%@ page import="java.lang.ArithmeticException" %>
<%
Calculator calculator = new Calculator();
try {
double result = calculator.calculate();
out.println("Result: " + result);
} catch (NumberFormatException e) {
out.println("请输入有效的数字!");
} catch (ArithmeticException e) {
out.println(e.getMessage());
} catch (IllegalArgumentException e) {
out.println("无效的运算符,请选择一个合法的运算符。");
}
%>
</body>
</html>
```
在这个例子中,我们测试了三种情况:
1. 用户输入正确的数字和运算符,如 `5 + 3`。
2. 输入错误的数据,比如输入非数字字符,这将抛出`NumberFormatException`。
3. 运算出错的情况,如除数为零或选择了非法的运算符,程序会捕获并显示相应的错误信息。
请注意,这个示例假设存在一个`com.example`包下的`Calculator`类。在实际应用中,你需要将其放在合适的路径下,并确保JSP引擎能找到它。
阅读全文