永中首页 | 产品聚焦 | 销售渠道 | 服务支持 | 教育专栏 | 二次开发 | 在线订购 | 产品注册 | 免费下载 | 新闻中心 | 关于永中 | 永中未来星
发新话题
打印

请教~~~~~

请教~~~~~

class Fac
{
   int cal(int n)
   {
      int r;
      if(n==1)
         r=1;
      else
         r=n*cal(n-1);
      return r;
    }
}
class Rec
{           
        public static void main(String args[])
        {                
                Fac f = new Fac();
                for(int i=10;i>=0;i--)
                {
                  System.out.println("Factorial of "+i+" is "+f.cal(i));               
                }
        }
}
这样一个程序
请问System.out.println("Factorial of "+i+" is "+f.cal(i));这句的问题
会出现Exception in thread "main" java.lang.StackOverflowError
        at Fac.cal(Rec.java:9)
请大家帮忙解决下
同时请解释下
小弟刚学java,什么都不懂,谢谢大家了~~~~~

TOP

呵呵   解决了
我太大意了
这里 for(int i=10;i>=0;i--)
                {
                  System.out.println("Factorial of "+i+" is "+f.cal(i));               
                }
应该是
for(int i=10;i>=1;i--)
                {
                  System.out.println("Factorial of "+i+" is "+f.cal(i));               
                }
呵呵~~~

TOP

发新话题