复数运算

本文介绍了一款复数运算器的设计与实现过程,采用jsp、javabean、servlet和dao等技术,实现了复数的加减乘除运算。通过jsp页面接收用户输入,servlet处理业务逻辑,javabean进行数据封装,dao进行数据操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我用了五种方法写了

第一种:只有jsp

第二种:jsp+javabean

第三种:jsp+servlet

第四种:jsp+JavaBean+servlet

第五种:jsp+JavaBean+servlet+Dao

我只显示第五种,其他四种在第五种的基础上改改就行

jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>复数运算器</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
if(request.getParameter("c1")!=null)
    session.setAttribute("s1", request.getParameter("c1"));
if(request.getParameter("c2")!=null)
    session.setAttribute("s2", request.getParameter("c2"));
if(request.getParameter("c3")!=null)
    session.setAttribute("s3", request.getParameter("c3"));
if(request.getParameter("c4")!=null)
    session.setAttribute("s4", request.getParameter("c4"));
%>
<form action="../acb_jisuan_2" method="post">
<table>
<tr><td>第一个数:</td>
<tr><td>实部:<input type="text" name="x"></td></tr>
<tr><td>虚部:<input type="text" name="y"></td></tr>
<tr><td>第二个数:</td>
<tr><td>实部:<input type="text" name="x1"></td></tr>
<tr><td>虚部:<input type="text" name="y1"></td></tr>
<tr><td>请选择下面您想要运算的类型!</td></tr>
<tr><td>
<input type="checkbox" name="o" value="+">加法;
<input type="checkbox" name="o" value="-">减法;
<input type="checkbox" name="o" value="*">乘法;
<input type="checkbox" name="o" value="/">除法;
</td></tr>
<tr align="center"><td colspan="2">
         <input type="submit" value="提交">&nbsp;&nbsp;
         <input type="reset" value="取消">
      </td></tr>
</table>
</form>
</body>
</html>

javabean:

public class Add {
    public String add(double x,double y,double x1,double y1,String o) {
        double a = 0,b = 0;
        switch(o){
        case"+":
            a=x+x1;
            b=y+y1;
            break;
        case"-":
            a=x-x1;
            b=y-y1;
            break;
        case"*":
            a=x*x1-y*y1;
            b=x*y1+x1*y;
            break;
        case"/":
            a=(x*x1+y*y1)/(x1*x1+y1*y1);
            b=(y*x1-x*y1)/(x1*x1+y1*y1);
            break;
        }
        ppest p = new ppest();
        return p.ppest(a, b);
    }
    
}

 

package bean;

public class Dd {
    public double getA() {
        return a;
    }
    public void setA(double a) {
        this.a = a;
    }
    public double getB() {
        return b;
    }
    public void setB(double b) {
        this.b = b;
    }
    private double a;
    private double b;
    public Dd(double a, double b) {
        this.a = a;
        this.b = b;
    }
    public Dd() {}
    public String ppest() {
        String result=null;
        if(b!=0) {
            if(b>0)
                result="("+a+"+"+b+"i)";
            else
                result="("+a+b+"i)";
        }
        else
            result=""+b;
        return result;
    }
}

 

 

package bean;

public class ppest {

    public String ppest(double a, double b) {
        String result=null;
        if(b!=0) {
            if(a>0)
                result="("+a+"+"+b+"i)";
            else
                result="("+a+b+"i)";
        }
        else
            result=""+b;
        return result;
    }

}

 

Dao:

package bean;

public class MM {
    public String mm( Dd d1,Dd d2,String o) {
        double x=d1.getA();
        double y=d1.getB();
        double x1=d2.getA();
        double y1=d2.getB();
        double a = 0,b = 0;
        switch(o){
        case"+":
            a=x+x1;
            b=y+y1;
            break;
        case"-":
            a=x-x1;
            b=y-y1;
            break;
        case"*":
            a=x*x1-y*y1;
            b=x*y1+x1*y;
            break;
        case"/":
            a=(x*x1+y*y1)/(x1*x1+y1*y1);
            b=(y*x1-x*y1)/(x1*x1+y1*y1);
            break;
        }
        ppest p = new ppest();
        return p.ppest(a, b);
    }
}
 

 

servlet:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        ppest p=new ppest();
        MM m = new MM();
        double x = Double.parseDouble(request.getParameter("x"));
        double y= Double.parseDouble(request.getParameter("y"));
        double x1 = Double.parseDouble(request.getParameter("x1"));
        double y1 = Double.parseDouble(request.getParameter("y1"));
        Dd d1 = new Dd(x,y);
        Dd d2 = new Dd(x1,y1);
        String o = request.getParameter("o");
        request.setAttribute("result", p.ppest(x, y) );
        request.setAttribute("result1", p.ppest(x1, y1));
        request.setAttribute("result2", m.mm(d1, d2, o));
        request.setAttribute("o", o);
        RequestDispatcher rd;
        rd=request.getRequestDispatcher("jsp+javabean+servlet+dao/e5.jsp");
        rd.forward(request, response);
    }

 

show.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%=request.getAttribute("result")%><%= request.getAttribute("o")%>
<%=request.getAttribute("result1")%>=<%=request.getAttribute("result2") %>
</body>
</html>

 

输入表单页面:将该页面的请求参数传给servlet;

封装复数运算,并完成加减乘除4种业务方法;

将servlet的信息调整到show.jsp并显示;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值