gpt4 book ai didi

java - 如何防止用户输入除 int 之外的任何内容

转载 作者:太空宇宙 更新时间:2023-11-04 10:03:57 25 4
gpt4 key购买 nike

我正在尝试创建一个简单的程序,其中用户输入一个整数,如果它不是整数,它会打印发生错误,并且程序循环直到用户输入一个整数。我找到了这个 try-catch 解决方案,但它无法正常工作。如果用户不输入整数,程序将无限循环。

正确的解决方案是什么?

Scanner input = new Scanner(System.in);
int number;
boolean isInt = false;
while(isInt == false)
{
System.out.println("Enter a number:");
try
{
number = input.nextInt();
isInt = true;
}
catch (InputMismatchException error)
{
System.out.println("Error! You need to enter an integer!");
}
}

最佳答案

很接近

解析字符串比尝试从扫描器获取int更容易失败,因为扫描器会阻塞直到它获取int

Scanner input = new Scanner(System.in);
int number;
boolean isInt = false;
while (isInt == false) {

System.out.println("Enter a number:");
try {
number = Integer.parseInt(input.nextLine());
isInt = true;
} catch (NumberFormatException error) {
System.out.println("Error! You need to enter an integer!");
}

}

关于java - 如何防止用户输入除 int 之外的任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53159582/

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