在我的构造函数中,我将气泡数组设置为参数中输入的大小。例如,如果用户为“ numberOfBubbles”输入“ 9”,则将创建9个气泡对象的数组。
private double canvasWidth;
private double canvasHeight;
private Bubble[] bubbles;
int count;
public Mover(double width, double height, int numberOfBubbles) {
canvasWidth = width;
canvasHeight = height;
bubbles = new Bubble[numberOfBubbles];
for (int i = 0; i < numberOfBubbles; i ++){
bubbles[i] = new Bubble();
bubbles[i].showBubble(width, height);
}
count = 1000;
}
public void moveAllAndBounce() {
for( int p = 0; p < count; p++ ){
bubbles[].moveIt();
}
}
在我称为“ moveAllAndBounce”的方法中,我想在一个for循环中在屏幕上移动这9个气泡对象,该循环将在P = 1000时结束,但是我不确定要在方括号[]中输入什么来使此工作有效,因为数组的大小在构造函数的参数中初始化。如果我写“ bubbles [p]”,它将不起作用,因为如果我希望数组的大小在构造函数中为9,则循环将停止一次,即p = 9。 ?
最佳答案
我建议使用内部转换为常规for-each-loop
的for-loop
,编译器会检查数组或集合的大小(实现Iterable)。
public void moveAllAndBounce() {
for (Bubble bubble : bubbles)
for(int p=0; p<count; p++)
bubble.moveIt();
}