我正在使用while循环验证数据,确保用户只输入1到6之间的数字。循环捕获无效条目没问题,但是当输入正确的数字时,需要再次输入为了继续如果我取出|| menuScan.nextInt() > 6
,循环将完全按照我的需要工作,但我需要在循环中包含这一行。
while (!menuScan.hasNextInt() || menuScan.nextInt() > 6) {
menuScan.nextLine();
System.err.println("Please enter a valid menu option 1 - 6: ");
}
menuChoice = menuScan.nextInt();
答案 0 :(得分:3)
在您第一次阅读变量时,将值赋值给您:
while (!menuScan.hasNextInt() || (menuChoice = menuScan.nextInt()) > 6) {
menuScan.nextLine();
System.err.println("Please enter a valid menu option 1 - 6: ");
}