黑马程序员技术交流社区
标题:
关于递归的问题
[打印本页]
作者:
王春蕾
时间:
2014-4-23 22:21
标题:
关于递归的问题
我写了一个累加一个从0到指定值的求和的递归方法,代码如下:
public static int getSum(int maxValue) {
if (maxValue == 1)
return 1;
else {
return maxValue + getSum(maxValue-1);
}
}
复制代码
运行可以得到正确的答案,但是我能不能把else里面的getSum(maxValue-1)改成getSum(maxValue--)呢?
改过运行时内存溢出,为什么不行啊?
作者:
悠然丶
时间:
2014-4-23 22:37
return maxValue + getSum(maxValue-1);这句话就是递归的体现
maxValue -1,就是说方法每次在调用自己的时候-1,也相当与一个循环
public static int getSum(int maxValue) {
if (maxValue == 1)
return 1;
else {
return maxValue + getSum(--maxValue); //你把后--改成前--就ok了
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2