1. 程式人生 > >兔子生兔子的Java解決方式

兔子生兔子的Java解決方式

最近在學python,其中有這樣一道題

古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?

沒有做出來,先用筆在紙上算的時候也是稀裡糊塗的。後來想辦法建模運算,畢竟Java語言號稱模擬自然界,向來是有辦法解決的,過程中遇到了很多問題,也有一些思考,現在把我認知到的內容分享給大家,希望對大家有幫助

第一,分解問題,大問題轉換為小問題,小問題用程式設計方式解決出來。
第二,寫註釋,按照註釋的內容構建自己的類。

好了,下面上程式碼
第一個類 helo.java

import java.util.ArrayList;

/**
 * Created by Y_a on 2016/12/8.
 */
public class helo { public static void main(String[] args) { Tuzi hehe = new Tuzi(0); ArrayList<Tuzi> tuziwo = new ArrayList<Tuzi>(); tuziwo.add(hehe); for (int i = 1; i < 20; i++) { //年齡大於3的兔子生小兔子 for (int j = 0; j < tuziwo.size(); j++) { if
(tuziwo.get(j).isAgeBigger(i)) { //把小兔子加到窩裡面去 tuziwo.add(new Tuzi(i)); } } } System.out.print(tuziwo.size()); } }

第二個類 Tuzi.java

/**
 * Created by Y_a on 2016/12/9.
 */
public class Tuzi {
    int birthday = 0;

    public
Tuzi(int birthday) { this.birthday = birthday; } public boolean isAgeBigger(int currentDay) { return (currentDay - birthday >= 2) ? true : false; } }

結果圖

這裡寫圖片描述