对于一些背景信息,我正在制作一个商店系统,而收集的硬币存储在一个数组中,然后在购买物品时移除。
问题是,即使硬币的数量大于价格(即 80 个硬币,但仅从 ArrayList 中减去 75),也会引发此错误。
java.lang.ArrayIndexOfBoundsException: length=202; index=-1;
代码循环让我很难过(我有几个这样的人,问题似乎总是只剩下几枚硬币):
if(this.name.equals("SHOTGUN BURST") && gamescreen.map.getCoinSize() >= this.price) {
player.isShotty = true;
for(int f = 0; f < this.price; f++) {
gamescreen.map.coinsCollect.remove(gamescreen.map.getCoinSize() - 1 - f);
}
}