A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 齐连涛 中级黑马   /  2012-10-26 16:28  /  1191 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

老师讲了两个注意:
1 限定条件
2 注意递归次数,尽量避免内存溢出。
毕老师举例累加,到8000就内存溢出了,本人修改了下代码,可以不让内存溢出,算出正确结果
class  Test
{
      private static int sum=0;
     public static void main(String[] args)
    {
         int n=getSum(8000);
        System.out.println(n);
      }
     public static int getSum(int n)
     {
            int sum=0;
          //修改后代码
           if(n==1)
                 return 1;
          sum+=n;
          if((n-1)>0)
              getSum(n-1);
         return sum+1;

            /*老师的代码
           if(n==1)
               return 1;
          return n+getSum(n-1);
         */
      }
}

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1 神马都是浮云

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马