本人 菜鸟 才刚学JSP 一周  希望哪位大哥大姐 帮帮忙...急用
<%!
public int getFactorial(int n) 
{
if (n == 1||n == 0)
return 1;
else
return n * getFactorial(n - 1);
}
void main()
{
int sum=0;
for(int i=1;i<=n;i++)
  {
    sum+=getFactorial(i);
  }
}
%>
<%
    int num = 0;
    String str = request.getParameter("num");
    if (str!=null)
    num = Integer.parseInt(str); 
%>
<body>
<form action="" method="post">
<input type="text" name="num">
<input type="submit" value="计算">
</form>
<%=getFactorial(num) %>
</body>
</html>
  这是我自己写的 但是不能输出加法过后的结果 只要阶乘的结果 应该怎么修改?

解决方案 »

  1.   

    void main()
    {
    int sum=0;
    for(int i=1;i <=n;i++)
      {
        sum+=getFactorial(i);
      }
    } 改成
    public int getResult()
    {
    int sum=0;
    for(int i=1;i <=n;i++)
      {
        sum+=getFactorial(i);
      }return sum;
    } 下面改为:<%=getResult(num) %> 
      

  2.   

    <%!
    public int getFactorial(int n)
    {
    if (n == 1||n == 0)
    return 1;
    else
    return n * getFactorial(n - 1);
    }
    %>
    <%
        int num = 0;
        String str = request.getParameter("num");
        if (str!=null)
        num = Integer.parseInt(str);
    %>
    <body>
    <form action="提交到本页" method="post">
    <input type="text" name="num">
    <input type="submit" value="计算">
    </form>
    <%=getFactorial(num) %>
    </body>
    </html> 
      

  3.   

    不能输出加法过后的结果 只要阶乘的结果void main() 

    int sum=0; 
    for(int i=1;i <=n;i++) 
      { 
        sum+=getFactorial(i); 
      } 

    是不是这一部分,在没见你在哪里调用它!
      

  4.   

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <html>
      <head>
        
        <title>My JSP 'JC.jsp' starting page</title>
        <%! private long jc1(int n){
        long k=1;
        for(int i=1;i<=n;i++){
        k=k*i;}
        return k;
        }%>

      </head>  <body>
         <p><%
         String str=request.getParameter("n");
         if(str!=null){
         int m=Integer.parseInt(str);
         out.print("m的阶乘"+jc1(m));}
          %></p>
         <form><label>请输入一个整 数</label><input name="n"/>
         <input type="submit""value="计算"></form>
      </body>
    </html>