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

来源:互联网 发布:淘宝详情页尺寸是多少 编辑:程序博客网 时间:2024/04/29 14:58
package 生兔子问题答案;import java.util.ArrayList;import java.util.List;/** *  * @author 何虎 * */public class CalculateRabbit{public static void main(String[] args){List<Rabbit> rabbitList = new ArrayList<Rabbit>(); // 存放兔子Rabbit r = new Rabbit(); // 初始有一对兔子r.setAge(0);rabbitList.add(r);int month = 10;for (int i = 1; i <= month; i++) // 成长月数{for (int j = 0; j < rabbitList.size(); j++){Rabbit rb = (Rabbit) rabbitList.get(j);rb.setAge(rb.getAge() + 1); Rabbit useRabbit = new Rabbit();useRabbit = useRabbit.makeRabbit(rb); // 看看能不能生兔子if (useRabbit != null){rabbitList.add(useRabbit); // 兔子生出来放大集合里}}System.out.println("第" + i + "个月生" + rabbitList.size() + "对兔子");}}}
<pre name="code" class="java">package 生兔子问题答案;/** *  * @author 何虎 * */public class Rabbit{private int age;public int getAge(){return age;}public void setAge(int age){this.age = age;}/* * 生兔子方法 */public Rabbit makeRabbit(Rabbit rb){Rabbit r = null;if(rb.getAge() >=3) //兔子成长到三个月就生一只小兔子{r = new Rabbit();r.setAge(0);}return r;}}



0 0
原创粉丝点击