使用以下方法:
public void localsetValue(String UserInput)
{
System.out.println("Enter New Value:");
while (!console.hasNextInt()){
console.next();
System.out.println("Must be a number.");
}
tempInt = console.nextInt();
console.nextLine();
while (tempInt <0) {
System.out.println("Value must be positive.");
tempInt = console.nextInt();
}
SetSpecificValue(UserInput.toLowerCase(), tempInt);
}
第一个while循环检查用户输入的有效int值;这很好。
第二个while循环检查用户输入的是正数;这也可以,但是此时他们可以输入字母,并抛出异常。
对于Java还是一个新手,有没有办法将这两项检查结合起来?
最佳答案
只需使用相同的while
循环,就可以了。
在这里,如果用户输入了int
以外的内容,或者输入的int
是负数,我们将继续循环。
int tmpInt = 0;
boolean flag = false;
while ((flag = !console.hasNextInt()) || (tmpInt = console.nextInt()) < 0){
if (flag) {
console.next();
flag = false;
}
System.out.println("Value must be a positive integer !");
}
关于java - 结合hasNextInt和大于/小于X的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36448723/