我要求用户输入他需要写整数的地方。我设法创建了验证,检查值是否高于需要,因此,使用以下代码:
int n = sca.nextInt();
while (n<=0){
System.err.println(error_1);
n = sca.nextInt();
}
但是现在如何添加对字符串的检查,我找到了这样的解决方案How do I keep a Scanner from throwing exceptions when enter the wrong type?
在实际读取输入之前使用hasNextInt()
,我尝试将这个检查放在 while 循环中的同一个地方,n<=0
就像这样
while ( (n<=0)||(sca.hasNextInt() )) {
....
}
但它以错误响应变量n
与该方法不兼容。那么有没有办法克服这样的事情呢?