用JSP编写一个简易计算器

题目要求

编写一个简易的计算器程序,该程序需要在一个JSP页面中运行。

用户可以在文本框中输入两个数字,然后点击下面的运算符进行计算。

计算结果将在蓝色水平分割线下显示出来。

这个程序不需要将表单数据提交到其他代码进行处理,所有的步骤都在同一个JSP页面中完成。


分析

1. 需要编写一个from表单,保存用户输入的运算数和所点击的运算符号

2. 因为所有的步骤都在同一个JSP页面中完成,action跳转的对象就是自己

3. 建议加上判空操作,在有运算数或操作符为空的情况下进行提示

4. 对于加减乘除的运算,注意除法中除数不能为0的情况


代码

该JSP文件名为 "compute.jsp"

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>compute</title>
</head>
<body>
  <h1>计算测试</h1><br>
  <form action="compute.jsp" method="post">
      运算数1:<input type="text" name="num1" /><br/>
      运算数2:<input type="text" name="num2" /><br/>
      <input type="submit" value="+" name="operation" />
      <input type="submit" value="-" name="operation" />
      <input type="submit" value="*" name="operation" />
      <input type="submit" value="/" name="operation" />
  </form>
  <hr color="blue">
  <%-- 处理表单提交的数据--%>
  <%
      String num1 = request.getParameter("num1"); // 获取用户输入的第一个数字
      String num2 = request.getParameter("num2"); // 获取用户输入的第二个数字
      String operation = request.getParameter("operation"); // 获取用户选择的操作符
      double result; //运算后的结果
  %>
  <%
      if (num1 == null || num2 == null || operation == null) { // 检查是否所有参数都已填写
          out.println("请输入两个数字和一个操作符");
      } else if (num1.isEmpty() || num2.isEmpty()) { // 检查输入的数字是否有效
          out.println("请输入有效的数字");
      } else {
          switch(operation) { // 根据用户选择的操作符进行相应的计算
              case "+":
                  result = Double.parseDouble(num1) + Double.parseDouble(num2); // 加法运算
                  break;
              case "-":
                  result = Double.parseDouble(num1) - Double.parseDouble(num2); // 减法运算
                  break;
              case "*":
                  result = Double.parseDouble(num1) * Double.parseDouble(num2); // 乘法运算
                  break;
              case "/":
                  if (Double.parseDouble(num2) != 0) { // 检查除数是否为0
                      result = Double.parseDouble(num1) / Double.parseDouble(num2); // 除法运算
                  } else {
                      out.println("除数不能为0!"); // 如果除数为0,就输出错误信息
                      return;
                  }
                  break;
              default:
                  out.println("请输入正确的操作符"); // 如果操作符无效,就输出错误信息
                  return;
          }
          out.println(num1 + operation + num2 + "=" + result); // 输出结果
      }
  %>
</body>
</html>

  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨空集

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值