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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄小贝 高级黑马   /  2012-10-16 23:47  /  3597 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黄小贝 于 2012-10-17 05:19 编辑

    事情背景:给学妹布置算法作业,然后觉得自己不提前做可能会出状况,所以做完后发这里大家可以一起讨论,也起的监督作用~也想借此机会练练手,没有意外是每日一题,表示从来没有正儿八经刷过算法题,欢迎讨论,拍砖~~

    第一天:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?





  结果:





结果:



代码如下方便调试:
  1. package day1;

  2. import java.util.ArrayList;
  3. import java.util.List;

  4. /**
  5. * 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
  6. * @author yellowbaby
  7. */
  8. public class Test {
  9.         
  10.         public static void main(String[] args) {
  11.                
  12.                 List<Rabbit> rabbits = new ArrayList<Rabbit>();//兔子窝
  13.                
  14.                 rabbits.add(new Rabbit());//祖先一对兔
  15.                
  16.                 for(int month = 1; month <= 12;month++){//咱先看一年内兔子的数量变化

  17.                         for (int i = 0; i < rabbits.size(); i++) {                        
  18.                                 rabbits.get(i).addMonth(rabbits);
  19.                         }
  20.                         System.out.println("第" + month + "个月兔子的数量为" + rabbits.size() + "对~");
  21.                 }
  22.                
  23.         }
  24. }
复制代码
  1. package day1;

  2. import java.util.List;

  3. /**
  4. * 表示一对兔子
  5. */
  6. public class Rabbit {

  7.         /**
  8.          * 兔子存活的月数
  9.          */
  10.         private int month = 0;

  11.         /**
  12.          * 兔子的岁数变大了一个月~如果到了三个月~成年兔你懂的~
  13.          */
  14.         public void addMonth(List<Rabbit> rabbits) {
  15.                 month ++;
  16.                 if(month >= 3){
  17.                         rabbits.add(new Rabbit());
  18.                 }
  19.         }
  20.         
  21. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
尤圣回 + 1 赞一个!

查看全部评分

6 个回复

倒序浏览
还是很经典的  沙发了
回复 使用道具 举报
我发过了
回复 使用道具 举报
楼主,这个是不是要把所有的java视频都看完才能做这种题啊? 我是0基础的 现在视频还没有看完 刚一上来improt导入的util.list就看不懂了 ~~
回复 使用道具 举报
陈虹旭 发表于 2012-10-17 08:30
楼主,这个是不是要把所有的java视频都看完才能做这种题啊? 我是0基础的 现在视频还没有看完 刚一上来impr ...

额,先把基础过一遍吧
回复 使用道具 举报
斐波那契数列。。。。
回复 使用道具 举报
的确很棒,,用到 递归。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马