版权声明:转载请声明原文链接地址,谢谢! https://blog.csdn.net/weixin_42859280/article/details/88984341
题目:
编写一个JSP程序,计算1!+2!+3!+4!+5!,并显示出结果。要求先声明计算阶乘的方法,再调用该方法,最后在页面上输出结果。
进阶要求,通过表单提交一个正整数,然后计算它的阶乘和。例如:输入3,就计算1!+2!+3!。
阶乘之和比较大,有些情况会超出int类型数据范围!
int的取值范围为: -2^31——2^31-1,即-2147483648——2147483647
我的代码:
<%@ page contentType="text/html; charset=GBK"%>
<!DOCTYPE html>
<html>
<head>
<title>求阶乘和!</title>
</head>
<body bgcolor=skyblue>
<h3>请输入1至100之间的整数:</h3>
<form action="1.jsp" method="get" name="form">
<input type="text" name="number">
<input type="submit" name="submit" value="提交">
</form>
<%!int sss(int i)
{
if(i==1)
{
return 1;
}
return i*sss(i-1);
}int ss(int i)
{
if(i==1)
{
return 1;
}
return sss(i)+ss(i-1);
}
int s(int i)
{
return i;
}
%>
<%
String str=request.getParameter("number");
if(str !=null){
try{
int num;
num= Integer.parseInt(str);
%>
<h2><p>你输入n的数值:<cite><%=s(num)%></cite></p></h2>
<h1><p>阶乘之和的结果:<cite><%=ss(num)%></cite></p></h1>
<% }catch(NumberFormatException e){
e.printStackTrace();
}
}
%>
</body>
</html>
运行结果:
输入:3
输入:12
输入:13
【就会超出范围!】
总之,还算可以!
OK!