黑马程序员技术交流社区

标题: 结果是多少?为什么? [打印本页]

作者: anziyi    时间: 2016-5-2 21:41
标题: 结果是多少?为什么?
[img]file:///D:\无聊的应用\QQ数据\746899915\Image\C2C\DZ8QZ%UR$3G74J5)5PUY%[K.png[/img]class Haha {
        public static void main(String[] args) {
                System.out.println(NiCai.Sum(10));
        }
}

class NiCai{
public static int Sum(int seed){
                if (seed == 1){
                        return 1;
                } else{
                        return seed + Sum(seed - 1);
                }
        }
}


作者: 再见卡卡罗特    时间: 2016-5-2 22:13
想知道。。。。。。
作者: anziyi    时间: 2016-5-2 22:25
再见卡卡罗特 发表于 2016-5-2 22:13
想知道。。。。。。

你是在问我想不想知道还是说你想知道?
作者: BackGaoz    时间: 2016-5-2 22:28
典型的递归调用,传入10
第一次判断不等于1,结果就是10 + 第二次调用该方法
第二次判断不等于1,结果就是10 + 9 + 第三次调用该方法
第三次判断不等于1,结果就是10+ 9 + 8 + 第四次调用该方法
......
直到seed == 1时,方法结束.返回的结果就是从10加到1.为55
作者: anziyi    时间: 2016-5-2 22:32
再见卡卡罗特 发表于 2016-5-2 22:13
想知道。。。。。。

你是在问我想不想知道还是说你想知道
作者: 执着为梦    时间: 2016-5-2 23:30
递归 真会玩!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2