首页 > 基础资料 博客日记
用JSP编写一个简易计算器
2024-04-18 21:00:05基础资料围观284次
Java资料网推荐用JSP编写一个简易计算器这篇文章给大家,欢迎收藏Java资料网享受知识的乐趣
题目要求
编写一个简易的计算器程序,该程序需要在一个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>
文章来源:https://blog.csdn.net/Sakurapaid/article/details/133985106
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签: