我试图使用数组来帮助我在每次单击按钮时在数组的新位置生成一个新的圆形对象。这是我收到的错误:


  Bean_Drop.java:179:错误:需要数组,但找到了Circle
  
  currentBall [n] =新的Circle(shift,yRed [n],RADIUS);


码:

尝试创建数组:

private Circle[] currentBall = new Circle[NUMBER_OF_SLOTS];


尝试在方法中实施:

public void dropABall() {
    int r;
    int g;
    int b;
    r = rand.nextInt((55) + 1) + 100;
    g = rand.nextInt((55) + 1) + 100;
    b = rand.nextInt((55) + 1) + 100;
    shift = paneWidth / 2;
    moveCount[n] = 0;
    position[n] = 0;
    yRed[n] = RED_BALL_START_Y;
    currentBall[n] = new Circle(shift, yRed[n], RADIUS);
    currentBall[n].setFill(Color.rgb(r,g,b,1.0));
    getChildren().add(currentBall);

}


我这样做是因为每次单击按钮时n都会增加,因此我希望它在数组的该位置放置一个圆圈。

最佳答案

看来该方法位于BeanMachine内部,该方法定义了另一个变量private Circle currentBall(pastebin链接中的第109行)。错误消息说的是,当看到currentBall[n]时,它期望currentBall是一个数组,但是发现它实际上是一个Circle。

这就是为什么用相同的名称定义两个方法(称为“阴影”)很危险的原因-这可能会使人感到困惑。

09-05 12:05