我有一个数字的问题,我想使用递归函数递增.该函数没有像我期望的那样返回值.在调试时,我看到数字增加但是当返回值时,似乎对数字的调整以相反的顺序返回.
这是一个简单的例子:
private static int recursionTest(int num){
if (num < 10){
recursionTest(++num);
}
return num;
}
public static void main(String[] args) {
System.out.println(recursionTest(1));
}
Run Code Online (Sandbox Code Playgroud)
输出始终为2.当我使用逐步调试器时,我看到以下内容:
为什么值最终会减少,如何返回最初计算的值?
Bab*_*aby 12
它应该是这样的:
private static int recursionTest(int num){
if (num < 10){
return recursionTest(++num);
}
else
return num;
}
Run Code Online (Sandbox Code Playgroud)