Stop try块自动迭代到下一个循环(for循环java)



我是一个业余爱好者,在Java中从事赛艇游戏,目前面临的问题是,即使输入无效,for循环中的try块也会立即迭代到下一个循环。for循环由一个初始化掷骰子的输入组成,掷骰子函数位于一个单独的类中,当输入不是"Y"时,它将抛出异常。当try块不在for循环中时,它可以完美地工作,但是当它被放在for循环中时,即使输入无效,它也会自动迭代循环。

for (int i = 0; i < boats.length; i++) {
try {
System.out.printf("BOAT %d TURN %n", i + 1);
System.out.println("Type Y to throw your dice!");
String diceThrow = input.nextLine();
boats[i].setPosition(newRiver.Flow(boats[i].getPosition(), newDice.diceThrow(diceThrow)));
System.out.println("boat position is at " + boats[i].getPosition());
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}

我假设另一个类中的方法被用来模拟骰子投掷,正在抛出IllegalArgumentException。由于是在catch块中处理错误,因此for循环不会终止,它将打印错误并继续进行下一次迭代。

最新更新