本文将分析以下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);
        }
    }
}

这段代码的作用是计算用户输入的整数的阶乘。

代码解释:

  1. 获取用户输入:

    • Scanner scanner = new Scanner(System.in); 创建一个Scanner对象,用于从控制台读取用户输入。
    • int n = scanner.nextInt(); 读取用户输入的整数,并将其存储在变量n中。
  2. 计算阶乘:

    • long result = factorial(n); 调用factorial()方法计算n的阶乘,并将结果存储在变量result中。
  3. 打印结果:

    • System.out.println(result); 将计算得到的阶乘值打印到控制台。

factorial() 函数:

  • 这个函数使用递归的方式计算阶乘。
  • 如果输入的n为0,则返回1 (因为0的阶乘为1)。
  • 否则,返回n * factorial(n - 1),即当前数字乘以它前一个数字的阶乘。

总结:

这段代码展示了如何使用Java编写一个简单的阶乘计算器。它使用了Scanner类获取用户输入,并使用递归函数有效地计算阶乘。

Java阶乘计算代码详解:使用Scanner和递归实现

原文地址: https://www.cveoy.top/t/topic/NNv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录