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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ringfingers 中级黑马   /  2015-9-26 23:10  /  394 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

可否举一个栗子

5 个回复

倒序浏览
  1. class Test
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 func(1, 0);//求1到10的和
  6.         }

  7.         public static void func(int num, int sum)
  8.         {
  9.                 // 递归出口
  10.                 if(num == 10)
  11.                 {
  12.                         //45 + 10
  13.                         sum += 10;
  14.                         System.out.println(sum);
  15.                         return;
  16.                 }

  17.                 /*
  18.                  * sum的变化 , a + b 的a 是 b之前所有的数相加的和
  19.                  * 0 + 1
  20.                  * 1 + 2
  21.                  * 3 + 3
  22.                  * 6 + 4
  23.                  * 10+ 5
  24.                  * 15+ 6
  25.                  * 21+ 7
  26.                  * 28+ 8
  27.                  * 36+ 9
  28.                  */
  29.                 sum += num;
  30.                 func(num + 1, sum);//调用自己
  31.                
  32.         }

  33. }
复制代码

递归,自己调用自己,在func方法里也有调用func方法。
回复 使用道具 举报
~~~~~~~~~~~~

jhz92g.jpg (37.45 KB, 下载次数: 11)

jhz92g.jpg

评分

参与人数 1技术分 +1 收起 理由
洋葱头头 + 1

查看全部评分

回复 使用道具 举报
递归就是方法调用自己。。。比如在方法get(int num)中,可以设定一个条件,满足的时候就调用自己get()
回复 使用道具 举报
举个栗子:
    从前有座山,山里有座庙,庙里有个老和尚,老和尚给小和尚讲故事,讲的是:从前有座山,山里有座庙,庙里有个老和尚,老和尚给小和尚讲故事....
回复 使用道具 举报
play(){
  play();
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马