递归注意事项:

  • A:递归一定到递归出来,要设置一个条件,当条件满足的时候就退出递归
  • B:递归的次数不能太多,否则就内存溢出,因为每递归异常,都产生一个线程
  • C:构造方法不能递归使用
    // 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
        //  1,1,2,3,5,8...
        for (int i = 1; i <=30; i++) {
            System.out.println("第"+i+"个月兔子数量为"+tuZhi(i));
        }

    }

    private static int tuZhi(int n) {
        if(n==2||n==1){
            return 1;
        }else{

        }
        return tuZhi(n-1)+tuZhi(n-2);
    }
输出:
第1个月兔子数量为12个月兔子数量为13个月兔子数量为24个月兔子数量为35个月兔子数量为56个月兔子数量为87个月兔子数量为138个月兔子数量为219个月兔子数量为3410个月兔子数量为5511个月兔子数量为8912个月兔子数量为14413个月兔子数量为23314个月兔子数量为37715个月兔子数量为61016个月兔子数量为98717个月兔子数量为159718个月兔子数量为258419个月兔子数量为418120个月兔子数量为676521个月兔子数量为1094622个月兔子数量为1771123个月兔子数量为2865724个月兔子数量为4636825个月兔子数量为7502526个月兔子数量为12139327个月兔子数量为19641828个月兔子数量为31781129个月兔子数量为51422930个月兔子数量为832040

1
这里写图片描述
2
这里写图片描述
3
这里写图片描述
4
这里写图片描述

总内存图解
这里写图片描述
这里写图片描述

posted on 2017-04-05 12:00  2637282556  阅读(140)  评论(0编辑  收藏  举报