Java阶乘计算代码详解:使用Scanner和递归实现
本文将分析以下Java代码的功能:
public class Topic2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
long result = factorial(n);
System.out.println(result);
}
// 计算阶乘的递归函数
public static long factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
}
这段代码的作用是计算用户输入的整数的阶乘。
代码解释:
-
获取用户输入:
Scanner scanner = new Scanner(System.in);创建一个Scanner对象,用于从控制台读取用户输入。int n = scanner.nextInt();读取用户输入的整数,并将其存储在变量n中。
-
计算阶乘:
long result = factorial(n);调用factorial()方法计算n的阶乘,并将结果存储在变量result中。
-
打印结果:
System.out.println(result);将计算得到的阶乘值打印到控制台。
factorial() 函数:
- 这个函数使用递归的方式计算阶乘。
- 如果输入的
n为0,则返回1 (因为0的阶乘为1)。 - 否则,返回
n * factorial(n - 1),即当前数字乘以它前一个数字的阶乘。
总结:
这段代码展示了如何使用Java编写一个简单的阶乘计算器。它使用了Scanner类获取用户输入,并使用递归函数有效地计算阶乘。
原文地址: https://www.cveoy.top/t/topic/NNv 著作权归作者所有。请勿转载和采集!