我使用 Scanner 类将输入作为整数。像这样:in.nextInt();
如果用户输入了任何浮点数或字符或字符串,我需要提示“输入错误”。我怎样才能做到这一点?
问问题
22099 次
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 回答