编程题
基因牛
### 题目描述
**本题为代码补全填空题,请将题目中给出的源代码补全,并复制到右侧代码框中,选择对应的编译语言(C/Java)后进行提交。若题目中给出的源代码语言不唯一,则只需选择其一进行补全提交即可。复制后需将源代码中填空部分的下划线删掉,填上你的答案。提交后若未能通过,除考虑填空部分出错外,还需注意是否因在复制后有改动非填空部分产生错误。**
张教授采用基因干预技术成功培养出一头母牛,三年后,这头母牛每年会生出1头母牛, 生出来的母牛三年后,又可以每年生出一头母牛。如此循环下去,请问张教授 $n$ 年后有多少头母牛?
以下程序模拟了这个过程,请填写缺失的代码。
### 源代码
**Java**
```java
import java.util.*;
public class Main
{
public static class Cow
{
private int age;
public Cow afterYear()
{
age++;
return age > 2 ? new Cow() :_________; // 填空1
}
public static void showTotalCowNum(int n)
{
List list = new ArrayList();
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)
{
_________; // 填空2
list.add(cow);
}
}
}
System.out.println(n + "年后,共有:" + list.size());
}
}
public static void main(String[] args)
{
Cow.showTotalCowNum(7);
}
}
```