试图获得仅为int且在1-3之间的输入

时间:2018-02-17 16:19:03

标签: java java.util.scanner

我正在制作一个TicTacToe游戏克隆,需要输入玩家想要选择的位置。

以下是代码:

enter image description here

1 个答案:

答案 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);
    }
}