古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
import java.util.*;
public class Rabbit{
private int id;
private int age;
public static List<Rabbit> rabbits = new ArrayList<Rabbit>();
public int getId(){
return id;
}
public Rabbit(){
age = 0;
}
public void setId(int id){
this.id = id;
} public int getAge(){
return id;
}
public void setAge(int age){
this.age = age;
} public void birth(){
age++;
if(age > 2){
Rabbit r = new Rabbit();
rabbits.add(r);
}
} public int count(){
return rabbits.size();
}
public static void main(String[] args){
Rabbit r = new Rabbit();
Rabbit.rabbits.add(r);
for(int i=0;i<7;i++){
for(int j=0;j<Rabbit.rabbits.size();j++){
Rabbit.rabbits.get(j).birth();
}
}
System.out.println(r.count());
}
}
import java.util.*;
public class Rabbit{
private int id;
private int age;
public static List<Rabbit> rabbits = new ArrayList<Rabbit>();
public int getId(){
return id;
}
public Rabbit(){
age = 0;
}
public void setId(int id){
this.id = id;
} public int getAge(){
return id;
}
public void setAge(int age){
this.age = age;
} public void birth(){
age++;
if(age > 2){
Rabbit r = new Rabbit();
rabbits.add(r);
}
} public int count(){
return rabbits.size();
}
public static void main(String[] args){
Rabbit r = new Rabbit();
Rabbit.rabbits.add(r);
for(int i=0;i<7;i++){
for(int j=0;j<Rabbit.rabbits.size();j++){
Rabbit.rabbits.get(j).birth();
}
}
System.out.println(r.count());
}
}