答案 0 :(得分:0)
hasNextInt()
只会返回整数。否则检查是没有意义的。
通过在if语句中调用nextInt()
,再在正文中调用,您正在阅读两个数字。
尝试
int row = 0;
while (scan.hasNext() && row < 1 || row > 3) {
String next = scan.next();
try {
row = Integer.parseInt(next);
} catch (NumberFormatException e) {
System.out.println("invalid input " + next);
}
}