JSP小问题

来源:百度知道 编辑:UC知道 时间:2024/06/19 19:21:57
<%@page contentType="text/html;charset=gb2312"%>
<HTML>
<HEAD>
<TITLE>使用include包含文件</TITLE>
</HEAD>
<BODY>
<P ALIGN=CENTER>
请输入一个整数,单击按钮计算这个数的平方根!
<%@include file="calculate.jsp"%>
</P>
</BODY>
</HTML>

<%@page contentType="text/html;charset=gb2312"%>
<FORM ACTION="" METHOD="post">
<INPUT TYPE=text NAME=ok>
<INPUT TYPE=submit VALUE=计算>
</FORM>
<%String a=request.getParameter("ok");

try
{double number=Integer.parseInt(a);
out.println("<BR>计算结果是:"+Math.sqrt(number));
}
catch(NumberFormatException e)
{out.println("<BR>请输入数字");}
%>
上面第一个文件是include文件,下面是被它包含的文件,目的是实现算平方根,但是为什么被包含的文件最后要加catch(NumberFormatException e)
{out.println("&

因为需要鉴别用户输入的结果,如果是字母就无法转换成数字,Integer.parseInt(a)就是抛出
NumberFormatException 数字格式化异常。因此需要用
try catch 块处理异常。正常的应用程序中都需要异常处理模块

request.getparameter("ok");这样得到页面传递过来的参数,是字符串型的,而当然只能是只有数字才能计算平方根。

所以需要将接收到的参数转化为数据类型,使用Integer包装类的parseInt方法。如何提交的数据不是数据,则parseInt方法就会报NumberFormateException哦。