62,621
社区成员
发帖
与我相关
我的任务
分享import java.util.*;
public class StackTraceTest
{
public static int factorial(int n)
{
System.out.println("factorial("+ n +"):");
Throwable t = new Throwable();
StackTraceElement [] frames = t.getStackTrace();//这几个看不懂啥意思
for(StackTraceElement f : frames)//这几个看不懂啥意思
System.out.println(f);//这几个看不懂啥意思
int r;
if(n <= 1) r =1;
else
{
System.out.println(n);
r =n * factorial(n - 1);//方法又调用方法,factorial(n - 1)这里的值应该是int型呀,可是输出结果却像个循环的,真得很乱
}
System.out.println("return " + r);
return r;
}
public static void main(String [] args)
{
Scanner in = new Scanner(System.in);
System.out.print("Enter n:");
int n = in.nextInt();
System.out.println(factorial(n));
}
}