gpt4 book ai didi

java - 我的 try catch 循环陷入无限循环,每次都应该提示用户输入

转载 作者:行者123 更新时间:2023-12-01 16:44:08 25 4
gpt4 key购买 nike

我试图向用户询问一个数字,如果他们输入任何错误(不是 1 到 99 之间的整数),则捕获(以防止字符串崩溃)并循环,直到输入正确的数字。我的循环不知何故陷入了无限循环。注意:我确实导入了扫描仪并导入了异常。

    public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String result;
int number;
boolean done = false;
while (true) {
try {
System.out.println("Please select a number from 1 to 99.");
number = input.nextInt();
input.nextLine();

if (number >= 1 || number <= 99) {
result = checkNumber(number);
System.out.println(result);
break;
}
} catch (InputMismatchException exception) {
}
}
}

最佳答案

input.nextInt() 不会消耗 int 之外的任何内容。它会抛出异常。您忽略异常并尝试使用 int。它仍然不是 int。同样的异常(exception)。无限循环。在 catch block 中添加另一个 input.nextLine()

关于java - 我的 try catch 循环陷入无限循环,每次都应该提示用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61809451/

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