在我的构造函数中,我将气泡数组设置为参数中输入的大小。例如,如果用户为“ 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-loopfor-loop,编译器会检查数组或集合的大小(实现Iterable)。

public void moveAllAndBounce() {
  for (Bubble bubble : bubbles)
    for(int p=0; p<count; p++)
      bubble.moveIt();
}

10-06 03:50