我想使用递归函数递增数字的问题。该函数未返回我所期望的值。调试后,我看到数字增加了,但是当返回值时,似乎数字调整以相反的顺序返回。
这是一个简单的示例:
private static int recursionTest(int num){
if (num < 10){
recursionTest(++num);
}
return num;
}
public static void main(String[] args) {
System.out.println(recursionTest(1));
}
输出始终为2。当我使用逐步调试器时,看到以下内容:
为什么最后将值递减,如何返回最初计算的值?
应该是这样的:
private static int recursionTest(int num){
if (num < 10){
return recursionTest(++num);
}
else
return num;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句