【练习】
题目要求:
递归实现 n 的阶乘
// 递归实现n的阶乘
// 实现阶乘的方法 -- 使用递归
// 要接收一个参数,应该定义参数类型和名字
// 需要n的阶乘,是一个数字,应该有返回值,返回值类型 int
import java.util.Scanner;
public class factorial{
public static long fac(int n) {
if(n == 0){
return 1;
}
else{
return n * fac(n-1);
}
}
// 主方法
public static void main(String[] args)
{
System.out.print("请输入您需要求的阶乘 n (0-20整数): "); // 提示用户输入数字
Scanner sc = new Scanner(System.in); // 声明对象
while(true) {
int n = sc.nextInt(); // 定义n 接受输入的数字
if(n>=0 && n<=20) {
long ret = fac(n); // 调用阶乘方法
System.out.println(n+"的阶乘和为: " +ret); // 输出返回值
break;
}
else {
System.out.print("抱歉,请您重新输入0-20以内的整数): ");
}
}
sc.close();
}
}