gpt4 book ai didi

java - 数组越界异常保龄球示例

转载 作者:行者123 更新时间:2023-12-01 06:10:04 25 4
gpt4 key购买 nike

大家好,有人可以告诉我这是什么意思吗?我正在为保龄球游戏编写一个程序,我的程序编译时没有错误,但是当我运行它时,这部分代码会突出显示错误:java.lang.ArrayIndexOutOfBoundsException:-1

这是我的代码:

if(rolls[i]+rolls[i+1] == 10) {
total = rolls[i]+rolls[i+1];
isSpare = true;
}

编辑:这是整个 for 循环:

for (int i = 0; i < rolls.length; i += 2) {
isStrike = false;
isSpare = false;
lastFrame = false;
if (i == rolls.length - 3) {
System.out.println("FINAL FRAME");
lastFrame = true;
total = rolls[i] + rolls[i + 1] + rolls[i + 2];
frame[0] = rolls[i];
frame[1] = rolls[i + 1];
frame[2] = rolls[i + 2];
}
if (rolls[i] == 10) {
total = rolls[i];
frame[0] = rolls[i];
isStrike = true;
i -= 1;
} else {
total = rolls[i] + rolls[i + 1];
frame[0] = rolls[i];
frame[1] = rolls[i + 1];
}
if (rolls[i] + rolls[i + 1] == 10) {
total = rolls[i] + rolls[i + 1];
isSpare = true;
}
runningTotal = runningTotal + total;
printFrame(frame, isStrike, isSpare, lastFrame, frames, runningTotal);
frames++;
} //increment

System.out.println();
}

最佳答案

if(rolls[i]==10){
total=rolls[i];
frame[0]=rolls[i];
isStrike=true;
i-=1;
}

在第一次迭代中,如果 rolls[0] 恰好是 10,则将 i 减 1,使其变为 -1。下一个 if 语句将抛出异常。

关于java - 数组越界异常保龄球示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36503119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com