1.最简单的方法,用循环求n的阶乘。
import java.util.Scanner;
public class JieCheng {
public static void main(String[] args){
System.out.println("请输入要计算的阶乘:");
Scanner scanner=new Scanner(System.in);
int a=scanner.nextInt();
int m=1;
for (int i=1;i<=a;i++){
m=m*i;
}
System.out.println(a+"的阶乘为:"+m);
}
}
2.递归法
import java.util.Scanner;
public class Digui {
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.println("请输入阶乘:");
int n=scanner.nextInt();
System.out.println("结果为:"+jisuan(n));
}
public static int jisuan(int n){
if (n==0){
return 1;
}
return n*jisuan(n-1);
}
}
在递归法中(0!=1,n!=12…n.),我们的判断条件是输入的是否为0。
return njisuan(n-1);语句的作用相当于上面的for循环。