请用JavaBean加jsp文件完整实现复数加减乘除四则运算
时间: 2024-02-23 16:01:06 浏览: 24
首先,我们需要定义一个JavaBean,用于存储复数的实部和虚部:
```java
public class Complex {
private double real;
private double imag;
public Complex() {}
public Complex(double real, double imag) {
this.real = real;
this.imag = imag;
}
public double getReal() {
return real;
}
public void setReal(double real) {
this.real = real;
}
public double getImag() {
return imag;
}
public void setImag(double imag) {
this.imag = imag;
}
}
```
接下来,我们可以编写JSP页面来实现复数的加减乘除运算。以下是完整的JSP代码:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.text.DecimalFormat" %>
<%@ page import="java.util.*" %>
<%@ page import="javax.servlet.*" %>
<%@ page import="javax.servlet.http.*" %>
<%@ page import="com.example.Complex" %>
<html>
<head>
<title>复数运算</title>
</head>
<body>
<h1>复数运算</h1>
<form method="post" action="complex.jsp">
<table border="0">
<tr>
<td>第一个复数:</td>
<td>
<input type="text" name="real1" size="5"> +
<input type="text" name="imag1" size="5">i
</td>
</tr>
<tr>
<td>第二个复数:</td>
<td>
<input type="text" name="real2" size="5"> +
<input type="text" name="imag2" size="5">i
</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 colspan="2">
<input type="submit" value="计算">
<input type="reset" value="重置">
</td>
</tr>
</table>
</form>
<%
String real1 = request.getParameter("real1");
String imag1 = request.getParameter("imag1");
String real2 = request.getParameter("real2");
String imag2 = request.getParameter("imag2");
String operator = request.getParameter("operator");
Complex c1 = new Complex(Double.parseDouble(real1), Double.parseDouble(imag1));
Complex c2 = new Complex(Double.parseDouble(real2), Double.parseDouble(imag2));
Complex result = null;
switch (operator) {
case "+":
result = new Complex(c1.getReal() + c2.getReal(), c1.getImag() + c2.getImag());
break;
case "-":
result = new Complex(c1.getReal() - c2.getReal(), c1.getImag() - c2.getImag());
break;
case "*":
result = new Complex(c1.getReal() * c2.getReal() - c1.getImag() * c2.getImag(),
c1.getReal() * c2.getImag() + c1.getImag() * c2.getReal());
break;
case "/":
double denominator = c2.getReal() * c2.getReal() + c2.getImag() * c2.getImag();
result = new Complex((c1.getReal() * c2.getReal() + c1.getImag() * c2.getImag()) / denominator,
(c1.getImag() * c2.getReal() - c1.getReal() * c2.getImag()) / denominator);
break;
}
if (result != null) {
DecimalFormat df = new DecimalFormat("#.##");
out.println("<p>" + real1 + " + " + imag1 + "i " + operator + " " + real2 + " + " + imag2 + "i = "
+ df.format(result.getReal()) + " + " + df.format(result.getImag()) + "i</p>");
}
%>
</body>
</html>
```
在这个JSP页面中,我们定义了一个表单,用户可以输入两个复数和运算符。当用户点击“计算”按钮时,我们会从表单中获取用户输入的值,并根据运算符进行相应的复数运算。最后,我们将结果输出到页面上。
注意,这个JSP页面并没有进行任何输入检查和异常处理,实际应用中需要根据具体情况进行改进。