在方法java中获取对象的原始信息

时间:2016-02-15 20:25:56

标签: java arraylist

所以在一个单独的程序中,我声明了一个名为dragon的对象:

public Dragon(int color, int location, boolean breathesFire) {
    this.color = color;
    this.location = location;
    this.breathesFire = breathesFire;
  }

现在我想制作一个方法来对龙的一个特定的龙进行操作,以便改变它的一个原语,如颜色。

所以我写道:

public void changeColor(int i) {
    int j = (int) Math.random() * 7; 
    int k = this.location;
    boolean o = this.breathesFire;
    army.set(i, j, k, o);
  }

假设要更改数组列表中“i”龙的颜色(它们是6种颜色,因此Math.random * 7向下舍入会给你一个随机的颜色)。无论如何它不编译并有各种错误,任何提示/解决方案?

1 个答案:

答案 0 :(得分:0)

你不应该在Dragon类中声明这样的方法。在包含ArrayList对象的类中声明它。 你应该做的第一件事是从阵列列表中接收第i条龙。 然后你应该为龙的成员使用Getters。

    int j = (int) Math.random() * 7; 
    Dragon dragon = yourArrayList.get(i);
    int k = dragon.getLocation();
    boolean o = dragon.isBreathingFire();
    army.set(i, j, k, o);

Getters(在Dragon类中声明)将是

    public boolean isBreathingFire() {
        return breathesFire;
    }

   public int getLocation() {
        return location;
    }

我能想到的一切。如需更多帮助,我们需要完整的错误消息。