JSP实现计算器功能(网页版)
jsp实现网页计算器代码如下:只有两个jsp页面
myCal.jsp如下:
<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%> <% Stringpath=request.getContextPath(); StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"> <html> <head> <basehref="<%=basePath%>"> <title>MyJSP'myCal.jsp'startingpage</title> <metahttp-equiv="pragma"content="no-cache"> <metahttp-equiv="cache-control"content="no-cache"> <metahttp-equiv="expires"content="0"> <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"> <metahttp-equiv="description"content="Thisismypage"> <!--jsp页面中不可以直接使用script--> <scriptlanguage="javascript"> <!-- //写一个函数判断是否两个数都有 functioncheckNum() { //判断num1num2是否为空 if((form1.num1.value=="")||(form1.num2.value=="")) { window.alert("null,不能为空!"); returnfalse; } //判断是否是数字 if(Math.round(form1.num1.value)!=form1.num1.value&&Math.round(form1.num2.value)!=form1.num2.value) { window.alert("num1和num2不是一个数"); returnfalse; } if(Math.round(form1.num1.value)!=form1.num1.value) { window.alert("num1不是一个数"); returnfalse; } if(Math.round(form1.num2.value)!=form1.num2.value) { window.alert("num2不是一个数"); returnfalse; } } --> </script> </head> <body> <formname="form1"action="calculator/myResult.jsp"method="post"> 请输入第一个数:<inputtype="text"name="num1"> <selectname="flag"> <optionvalue=+>+</option> <optionvalue=->-</option> <optionvalue=*>*</option> <optionvalue=/>/</option> </select> 请输入第二个数:<inputtype="text"name="num2"> <inputtype="submit"value="计算"onclick="returncheckNum();"> </form> </body> </html>
myResult.jsp如下:
<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%> <% Stringpath=request.getContextPath(); StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"> <html> <head> <basehref="<%=basePath%>"> <title>MyJSP'myResult.jsp'startingpage</title> <metahttp-equiv="pragma"content="no-cache"> <metahttp-equiv="cache-control"content="no-cache"> <metahttp-equiv="expires"content="0"> <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"> <metahttp-equiv="description"content="Thisismypage"> <!-- <linkrel="stylesheet"type="text/css"href="styles.css"> --> </head> <body> <% //第1步接收到第1个数 Strings_num1=request.getParameter("num1"); //第2步接收到第2个数 Strings_num2=request.getParameter("num2"); //第3步接收到运算符 Stringflag=request.getParameter("flag"); //第4步计算 intnum1=Integer.parseInt(s_num1); intnum2=Integer.parseInt(s_num2); intresult=0; if(flag.equals("+")) { result=num1+num2; } elseif(flag.equals("-")) { result=num1-num2; } elseif(flag.equals("*")) { result=num1*num2; } elseif(flag.equals("/")) { result=num1/num2; } //第5步 out.println("结果是:"+result); %> </body> </html>
虽然过程很简单但是有几个值得学习的地方:
如何判断输入的数据是不是数字:使用Math.round(form1.num1.value)!=form1.num1.value 来判断;
如何获取操作值:设置name属性flag实现。
希望本文所述对大家学习JSP编程有所帮助。