[对不起,如果这是一个愚蠢的问题,我在搜索谷歌搜索时遇到了很多麻烦,并且找不到问题的任何答案,即使它可能就像一个单行的答案]
我只是在我的Java编程课程网站上学习一些教程。
现在我编写的东西会打开一个提示屏,就像“请输入一个5到10之间的整数:”,并扫描数字,并为一堆不同的变量类型,不同的边界等。
超级简单的东西。我只有一个小问题。
如何告诉我的扫描方法检查变量是否为int类型?我知道这可能很明显,但如果有人输入“A”或“1.543”,我应该让它显示,“那不是一个整数!”但我不知道如何实际使用扫描仪检查变量类型
答案 0 :(得分:1)
首先,因为您想要进行验证,只需将输入作为字符串读取。
String input = scanner.nextLine();
然后你要检查它是一个数字。您可以使用parse
包裹在try catch
。
try{
int inputDbl = Integer.parseInt(input);
}
catch(NumberFormatException ex)
{
System.out.println("This is not a number");
}
方法
try catch
如果您想在循环中执行此操作,请将此boolean
添加到返回public boolean isNumeric(String input)
{
try{
double inputDbl = Integer.parseInt(input);
return true;
}
catch(NumberFormatException ex)
{
return false;
}
}
的方法中。
{{1}}
答案 1 :(得分:0)
你可以使用if(scanner.hasNextInt()){ ... }
查看下一个是否有int - 一般来说,一些字符序列可以被解析为不同类型的变量,所以你必须使用每个hasNextDouble()
等函数你想要的顺序。
查看here以获取完整的文档,其中可能包含许多您正在寻找的有用功能。