简单的计算器(EL表达式)

本文介绍了一个简单的Web计算器实现过程,包括前端表单设计和后端逻辑处理。通过HTML表单接收用户输入的操作数和运算符,并在Servlet中进行计算,最后返回结果显示在页面上。

在显示层cal.jsp页面中显示两个数的加减乘除
在控制层calServlet中进行两个数的运算操作
<form action="calServlet" method="post">
操作数1:
<input type="text"name="num1"value="${requestScope.cal.num1 }">
运算符:
<input type="radio" name="op" value="+"
${requestScope.cal.op=="+"?"checked":""}>+;
<input type="radio" name="op" value="-"
${requestScope.cal.op=="-"?"checked":""}>-&nbsp;
<input type="radio" name="op" value="*"
${requestScope.cal.op=="*"?"checked":""}>*&nbsp;
<input type="radio" name="op" value="/"
${requestScope.cal.op=="/"?"checked":""}>/&nbsp;<br>
操作数2:
<input type="text" name="num2" value="${requestScope.cal.num2 }"><br>
<input type="submit" value="计算" ><br>
结果: <input type="text" value="${requestScope.result}">
</form>

calServlet:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
Calculator cal=new Calculator();
//接受表单提交的数据并封装到javabean中
cal.setNum1(Float.parseFloat(request.getParameter("num1")));
cal.setNum2(Float.parseFloat(request.getParameter("num2")));
cal.setOp(request.getParameter("op"));
//根据运算符来完成运算
float result=0;
switch(cal.getOp().charAt(0)){
case '+':result=cal.getNum1()+cal.getNum2();
break;
case '-':result=cal.getNum1()-cal.getNum2();
break;
case '*':result=cal.getNum1()*cal.getNum2();
break;
case '/':result=cal.getNum1()/cal.getNum2();
}
//将结果保存到request并使用服务器端跳转到cal.jsp文件
request.setAttribute("result",result);
//request.setAttribute("num1", cal.getNum1());
//request.setAttribute("num2", cal.getNum2());
//已经保存到cal中所以不必这么麻烦
request.setAttribute("cal",cal);
request.getRequestDispatcher("cal.jsp").forward(request, response);
//客户端跳转
//response.sendRedirect("cal.jsp");
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值