- /*
- * 基因牛
- 张教授采用基因干预技术成功培养出一头母牛,三年后,这头母牛每年会生出1头母牛,
- 生出来的母牛三年后,又可以每年生出一头母牛。如此循环下去,请问张教授n年后有多少头母牛?
- 以下程序模拟了这个过程,请填写缺失的代码。
- */
- import java.util.ArrayList;
- import java.util.List;
- class Cow{
- private int age;
- public Cow afterYear(){
- age++;
- return age > 2 ? new Cow() : null; // 填空
- }
- public static void showTotalCowNum(int n){
- List<Cow> list = new ArrayList<Cow>();
- list.add(new Cow());
- for (int i = 0; i < n; i++) {
- int cowCount = list.size();
- for (int j = 0; j < cowCount; j++){
- Cow cow = list.get(j).afterYear();
- if (cow != null){
- cow.afterYear(); // 填空
- list.add(cow);
- }
- }
- }
- System.out.println(n + "年后,共有:" + list.size());
- }
- }
- class Demo05{
- public static void main(String[] args){
- Cow.showTotalCowNum(13);
- }
- }
- 13年后,共有:233