gpt4 book ai didi

java - 如何使用 try 和 catch 验证用户输入?

转载 作者:行者123 更新时间:2023-12-01 16:51:32 26 4
gpt4 key购买 nike

我需要编写一个程序,可以将用户输入验证为整数,并防止在使用输入不是整数时崩溃。所以我在这里使用 trycatch 。但是,当用户输入为非整数时,我遇到了无限循环。下面是我的代码

do {
try {
a = sc.nextInt();
} catch (InputMismatchExpression e) {
System.out.println("This is not integer");
}
} while(a < 1 || a > 10);

最佳答案

一旦扫描程序抛出异常,现有值将保持“未使用”状态。为了避免这种情况,您需要添加 sc.next() 行来使用现有输入并让 Scanner 等待用户的下一个值。

do {
try {
a = sc.nextInt();
} catch (InputMismatchExpression e) {

sc.next(); // this "consumes" the invalid input and throws away

System.out.println("This is not integer");
}
} while(a < 1 || a > 10);

关于java - 如何使用 try 和 catch 验证用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61676354/

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