package s5;
import java.util.ArrayList;
import java.util.List;
public class Cow {
/*
* 基因牛 张教授采用基因干预技术成功培养出一头母牛,三年后,这头母牛每年会生出1头母牛,
* 生出来的母牛三年后,又可以每年生出一头母牛。如此循环下去,请问张教授n年后有多少头母牛?
*/
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());
}
public static void main(String[] args){
Cow.showTotalCowNum(4);
}
}
import java.util.ArrayList;
import java.util.List;
public class Cow {
/*
* 基因牛 张教授采用基因干预技术成功培养出一头母牛,三年后,这头母牛每年会生出1头母牛,
* 生出来的母牛三年后,又可以每年生出一头母牛。如此循环下去,请问张教授n年后有多少头母牛?
*/
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());
}
public static void main(String[] args){
Cow.showTotalCowNum(4);
}
}