为什么这个递归在Java中不起作用?

时间:2016-12-13 11:20:29

标签: java recursion return

我正在尝试计算整数用户输入的阶乘,但它不会返回任何内容。为什么呢?

感谢。

    import java.util.Scanner;

`class App {

    public static int factorial(int n) {
        if (n == 0) {
            return 1;
        } else {
            int recurse = factorial(n - 1);
            int result = n * recurse;
            return result;
        }
    }

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        System.out.println("Enter an integer to calculate its factorial: ");
        int users = input.nextInt();

        factorial(users);

    }
}

2 个答案:

答案 0 :(得分:2)

您的代码中的问题是您没有给出打印语句来显示输入数字的阶乘。只返回一个值就不会打印出来。如果您在BlueJ环境中工作,则只能通过直接执行方法factorial来使用代码。谢谢。

答案 1 :(得分:1)

  

您的代码中的问题是,您没有给出>显示输入数字的阶乘的打印声明。