为什么Eclipse中的显示不支持Java中的递归函数?

Joh*_*man 7 java eclipse

我在Eclipse IDE中用Java实现了一个阶乘函数.

public class Utilities {
   public static int factorial(int n) {
        int result;
    if (n <= 1) // base case
        return 1;
    else {
        result = (n * factorial(n - 1));
        return result;
    }
}
}
Run Code Online (Sandbox Code Playgroud)

在Eclipse的显示中,我检查Utilities.factorial(6).但是,我收到此错误.

Utilities.factorial(6);
    Evaluation failed. Reason(s):
        Cannot perform nested evaluations.
Run Code Online (Sandbox Code Playgroud)

为什么显示不支持递归调用?那是问题吗?

Edw*_*uck 10

要返回答案,它必须评估表达式,为此必须评估内部表达式,为此必须评估内部表达式,为此必须评估内部表达式.

通常,当调试器烧坏堆栈(嵌套堆栈帧太多)时,人们会向编写调试器的开发团队提交错误.他们通过目前唯一已知的手段来解决问题:没有递归.

如果您可以在不以嵌套方式评估表达式的情况下评估堆栈需要多深,对于任何递归表达式; 有一个闪亮的菲尔兹奖章等着你(可能是大学准备以你的名义建造一座新建筑).这个问题与停机问题有关,不幸的是,我们的计算模型已知停机问题无法解决.