Edg*_*ars 1 java validation input
我要求用户输入他需要写整数的地方.我设法创建验证,检查值是否高于所需值,因此,使用以下代码:
int n = sca.nextInt();
while (n<=0){
System.err.println(error_1);
n = sca.nextInt();
}
Run Code Online (Sandbox Code Playgroud)
但是现在如何添加字符串检查,我找到了这样的解决方案当输入错误的类型时,如何防止扫描程序抛出异常?
hasNextInt()
在实际读取输入之前使用它,我试图把这个检查放在同一个地方的循环中,n<=0
就像这样
while ( (n<=0)||(sca.hasNextInt() )) {
....
}
Run Code Online (Sandbox Code Playgroud)
但它回答错误,变量n
与该方法不兼容.那么有什么方法可以克服这种事情吗?
您可以使用parseInt并检查异常:
public boolean parseWithFallback(String text) {
try {
Integer.parseInt(text);
return true;
} catch (NumberFormatException e) {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
25743 次 |
最近记录: |