jsp简单的计算器如何在本页显示数据

来源:互联网 发布:二分折半查找范围算法 编辑:程序博客网 时间:2024/05/30 04:27

这里写图片描述

<body><%  //接收第一个数  String s_num1=request.getParameter("num1");  //接收第二个数  String s_num2=request.getParameter("num2");  //接收运算符  String flag=request.getParameter("flag");  //计算  int num1=0;  int num2=0;  int result=0;  num1=Integer.parseInt(s_num1);  num2=Integer.parseInt(s_num2);  if(flag.equals("+")){result=num1+num2;}    else if(flag.equals("-")){result=num1-num2;}        else if(flag.equals("*")){result=num1*num2;}            else if(flag.equals("/")){result=num1/num2;}  //输出结果   %>   <form  name="form1" action="myCal.jsp">   <br>   <hr>   请输入第一个数<input type="text" name="num1"><br>   <select name="flag">   <option value="+">+</option>   <option value="-">-</option>   <option value="*">*</option>   <option value="/">/</option>   </select>   <br>    请输入第二个数<input type="text" name="num2"><br>    <br>   <input type="submit" value="计算" onclick="return checkNum()">   <hr>   <!-- 这里输出计算结果 -->  计算结果是:<%=result %>   </form></body>

出现错误

java.lang.NumberFormatException: null    java.lang.Integer.parseInt(Integer.java:454)    java.lang.Integer.parseInt(Integer.java:527)    org.apache.jsp.myCal_jsp._jspService(myCal_jsp.java:99)    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

关键错误在于org.apache.jsp.myCal_jsp._jspService(myCal_jsp.java:99)
这里写图片描述
jsp第一次运行时,jsp文件会被服务器翻译成一个对应的java文件,然后再被编译成为.class文件存储在内存中,以后的访问就直接访问.class文件。但是在第一次的访问时,”num1”、 “num2”、是空的,所以会出现java.lang.NumberFormatException: null的错误
我们可以在计算之前加一个if语句来进行处理
if(s_num1!=null&&s_num2!=null&&flag!=null)
输入5+6结果不会出错,但是因为相当于跳转回自己的页面,所以在输出结果时,没有保留原始的数据
事实上,因为对于flag,我们没有进行特别的设置,所以在第一次访问时,flag有值默认为“+”,所以在这句话中,可以不必加flag的判断

0 0
原创粉丝点击