我使用Scanner类将输入作为整数。像这样:in.nextInt();
如果用户输入了任何浮点数或字符或字符串,我需要提示“错误输入”。
我怎么能做到这一点?
答案 0 :(得分:1)
int
包含InputStream
作为下一个可读令牌, nextInt()
只能返回int
。
如果要验证输入,则应使用nextLine()
之类的内容来阅读完整的String
,并使用Integer.parseInt(thatString)
检查是否为整数。
该方法将抛出
NumberFormatException - 如果字符串不包含可解析的整数。
答案 1 :(得分:0)
把它放在试试体内。
String input = scanner.next();
int inputInt 0;
try
{
inputInt = Integer.parseInt(input);
} catch (Exception e)
{
System.out.println("Wrong input");
System.exit(-1);
}
答案 2 :(得分: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");
}