所以在一个单独的程序中,我声明了一个名为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向下舍入会给你一个随机的颜色)。无论如何它不编译并有各种错误,任何提示/解决方案?
答案 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;
}
我能想到的一切。如需更多帮助,我们需要完整的错误消息。