我有下面的代码,它使测试工具失效,我无法弄清楚原因。在我的Hive
课程中,我有一个称为单元格的蜜蜂的arraylist和一个名为anotherDay
的方法,我想循环遍历arraylist并在其上调用每个Bees anotherDay
方法。代码:
ArrayList<Bee> cells = new ArrayList<Bee>();
public void anotherDay(){
for(int i = 0;i<cells.size(); i++){
getBee(i).anotherDay();
}
}
我的女王蜂班:
public class Queen extends Bee{
Hive hive = null;
public Queen(){
}
public Queen(Hive hive){
this.hive = hive;
this.type = 1;
this.age = 11;
this.health = 3;
}
public Bee anotherDay(){
eat();
age++;
if(age%3 == 0){
hive.addBee(new Egg());
}
return this;
}
public boolean eat(){
if(hive.Honey > 2){
hive.takeHoney(2);
if(health == 3){
}else{
health= health++;
}
return true;
}else{
health = health -1;
return false;
}
}
public int getType(){
return type;
}
}
基本上当运行hive中的anotherDay
方法时,我希望它在蜂王的女王班中运行anotherDay
方法,这会使它的年龄增加1,每隔3天产一个鸡蛋这是添加到蜂巢中的arraylist并运行eat方法。我的测试工具在蜂巢中运行anotherDay
方法,但由于我的蜂王活得太长而且没有产下足够的蛋,我失败了。我哪里错了?