首页 > 解决方案 > Java - 尝试在数组内创建圆形对象

问题描述

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

Bean_Drop.java:179:错误:需要数组,但找到了 Circle

currentBall[n] = new 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 增加,所以我希望它在数组的那个位置放置一个圆圈。

标签: java

解决方案


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

这就是为什么定义两个具有相同名称的方法(称为“shadowing”)是危险的——这可能会让人类感到困惑。


推荐阅读