描述
使用递归的方法输出n的阶乘。
分析
阶乘就是n*(n-1)(n-2)(n-3)*…21
递归必须要有结束条件,不然一定会发生栈内存溢出的错误。
代码
public static void main(String[] args){
//计算n的阶乘
System.out.println("请输入n的值:");
//调用Scanner方法输入n的值
java.util.Scanner s=new java.util.Scanner(System.in);
int n=s.nextInt();
int retValue=multi(n);
System.out.println(" "+n+"的阶乘为:"+retValue);
}
//递归方法
public static int multi(int n){
if(n==1){
return 1;
}
return n*multi(n-1); //递归调用multi()方法
}
运行结果
请输入n的值:
5
5的阶乘为:120