编写JSP程序,实现一个简易的计算机。要求:输入“第一个参数”,选择运算类型(+、-、* 、/),输入“第二个参数”,按“计算”按钮,结果显示在“结果”文本框中。
注意:程序需要对输入参数是否合法进行判断、例如:参数是否为数字;除法时,除数不为0。
方法一:
程序代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<script>
function getresult()
{
var num1=document.getElementById("num1").value;
var sig=document.getElementById("sig").value;
var num2=document.getElementById("num2").value;
n1 = parseFloat(num1);
n2 = parseFloat(num2);
if(sig=="/"&& num2=="0")
{
document.getElementById("result").value = "除数不能为0";
}else if (isNaN(num1)==true||isNaN(num2)==true){
//isNaN()返回为数字输出false,返回为其他值输出true
document.getElementById("result").value = "输入参数必须为数字";
} else
{
switch (sig) {
case "+":
document.getElementById("result").value = n1+n2;
break;
case "-":
document.getElementById("result").value =n1-n2;
break;
case "*":
document.getElementById("result").value =n1*n2;
break;
case "/":
document.getElementById("result").value =n1/n2;
break;
}
}
}
</script>
<h1>我的计算机</h1>
<hr color="red"><br><br>
<form action="" method="get">
请输入第一个数:<input type="text" name="firstnum" id="num1"><br><br>
请选择运算方式:
<select name="sig" id="sig" >
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<br><br>
请输入第二个数:<input type="text" name="secondnum" id="num2"><br><br>
<button type="button" onclick="getresult()">计算</button>
<button type="reset" > 重置 </button><br><br>
结果:<input type="text" name="result" id="result" >
</form>
</body>
</html>
展示结果:
方法二:
代码:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
<script>
function operater(){
var num1=document.form1.num1.value;
var num2=document.form1.num2.value;
if(num1==""||num2==""){
alert("参与计算的操作数的数值不能为空");
return false;
}
if(isNaN(num1)){
alert("第一个数不是数值型数据,请确认!")
return false;
}
if (isNaN(num2)){
alert("第二个数不是数值型数据,请确认!")
return false;
}
var operValue=document.form1.oper.value;
var resultValue =0;
if(operValue=="0"){
resultValue =parseFloat(num1)+parseFloat(num2);
}
if(operValue=="1"){
resultValue =parseFloat(num1)-parseFloat(num2);
}
if(operValue=="2"){
resultValue =parseFloat(num1)*parseFloat(num2);
}
if(operValue=="3"){
if(num2==0){
alert("除数不能为0,请确认!");
}
resultValue = porseFloat(num1)/porseFloat(num2);
}
document.form1.result.value=resultValue;
}
</script>
</head>
<body style="background: mediumpurple ;">
<h1>我的计算器</h1>
<h3 >
<form name="form1" action="">
<hr size="2"/>
<p>请输入第一个数:<input type="text" name="num1"></p>
<p>请选择运算方式:
<select name="oper">
<option value="0">+</option>
<option value="1">-</option>
<option value="2">*</option>
<option value="3">/</option>
</select>
</p>
<p>请输入第二个数:<input type="text" name="num2"></p>
<p><input type="button" value="计算" onclick="operater()">
<input type="reset" value="重置" ></p>
<p>结果:<input type="text" name="result"></p>
</form>
</h3>
</body>
</html>
展示结果: