在第一个类的arraylist中的对象上的另一个类中运行方法

时间:2013-12-07 00:36:26

标签: java arraylist

我有下面的代码,它使测试工具失效,我无法弄清楚原因。在我的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方法,但由于我的蜂王活得太长而且没有产下足够的蛋,我失败了。我哪里错了?

0 个答案:

没有答案