0

我使用 Scanner 类将输入作为整数。像这样:in.nextInt(); 如果用户输入了任何浮点数或字符或字符串,我需要提示“输入错误”。我怎样才能做到这一点?

4

3 回答 3

1

nextInt()int如果InputStream包含一个int作为下一个可读标记,则只能返回一个。

如果你想验证输入,你应该使用类似nextLine()read a full 的东西String,并使用Integer.parseInt(thatString)它来检查它是否是一个整数。

该方法将抛出一个

NumberFormatException - 如果字符串不包含可解析的整数。

于 2013-09-07T23:38:18.143 回答
0

把它放在一个try-catch的身体里。

String input = scanner.next();
int inputInt  0;
try
{
   inputInt = Integer.parseInt(input);
} catch (Exception e)
{
   System.out.println("Wrong input");
   System.exit(-1);
}
于 2013-09-07T23:38:12.353 回答
0

正如我在评论中提到的,尝试使用try-catch语句

int someInteger;

try {
    someInteger = Scanner.nextInt();    
} catch (Exception e) {
    System.out.println("The value you have input is not a valid integer");
}
于 2013-09-07T23:38:40.317 回答