java一本书里的习题,没找到答案书。找出下面的程序代码的错漏,并纠正
public int sun(int n){
if (n==0)
    return 0;
else 
                       return n+sum(n)

}

解决方案 »

  1.   

    // 注意方法名是sum
    public int sum(int n){
    if (n==0)
        return 0;
    else 
                           return n+sum(--n) //这里修改

    }这是我能想到的唯一合理的改正方法
    使用递归解决,效率不是一般地差,最好使用循环。
      

  2.   

    这道题有点莫名其妙~~
    1,对一个int求和(求和至少要2数吧?);
    2,看上面的思路好像把n拆开成n个1相加(把n拆开再加起来!)
    3,这样的改错题也太无聊了点~