java - 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 增加,所以我希望它在数组的那个位置放置一个圆圈。
解决方案
看起来该方法在 BeanMachine 内部,它定义了一个不同的变量private Circle currentBall
(您的 pastebin 链接中的第 109 行)。错误消息说的是,当它看到时currentBall[n]
,它应该currentBall
是一个数组,但它发现它实际上是一个 Circle。
这就是为什么定义两个具有相同名称的方法(称为“shadowing”)是危险的——这可能会让人类感到困惑。
推荐阅读
- yadcf - 动态列过滤器
- java - 如何使用 android studio 实现一个 android 交付跟踪器
- python - 如何使用opencv-python识别图像的形状是对称的还是不对称的?
- mysql - 我们可以从数据库中删除 wp_woocommerce_sessions 吗?
- angularjs - angularjs:检测对 Web 应用程序的更改,然后重新加载它
- python - Django - 禁止直接分配到多对多集合的前端
- html - 如何避免包装内容的“盒子项目”?
- json - 如何解析具有不一致数据类型的 JSON?
- arrays - 包含多边形点的数组。我们可以遍历它的边界吗?
- r - 从 R 到 Excel 显示特殊字符(带圆圈的字母)或 unicode