public class RecursionTest04
{
public static void main(String[] args)
{
java.util.Scanner s = new java.util.Scanner(System.in);
int num = s.nextInt();
int factorial=1;
for(;num>0;num–)
{
factorial*=num;
}
System.out.println(factorial);
int factorial2=doSome(num);
System.out.println(factorial2);
}
public static int doSome(int n)
{
if(n==1)
{
return 1;
}
return n*doSome(n-1);
}
}
/*这里想要用for循环和递归同时计算N!的数值,因为前面的num已经等于0,
Exception in thread “main” java.lang.StackOverflowError
可以通过换位置,或再定义一个num2解决,或许以后能学会更合理正确的解决方法
*/
计算N!的数值产生的错误
最新推荐文章于 2022-05-10 23:12:07 发布