Catch Statement问题战舰游戏

时间:2017-11-23 21:07:10

标签: java exception-handling

我遇到了Catch语句的问题,因为我对他们很新,并且正在学习它们。 我创建的程序从用户那里获取输入,使用x和y co-ords以及布尔值true / false将船放置在10x10网格上,以将它们向上或侧向放置。当玩家输入一个太高/太低的数字或从网格中输入数据时,会捕获异常,我使用了一个while语句尝试循环这个但是程序没有循环回来。如果对这些陈述有更多经验的人可以看一看并指出我正确的方向,我将非常感激。

do {
    try {

        boolean updown = sc.nextBoolean();
        if (updown == true) {
            grid[x][y] = 'S';
            grid[x + 1][y] = 'S';
            grid[x + 2][y] = 'S';
            grid[x + 3][y] = 'S';
            drawGrid(grid);
        } else if (updown == false) {
            grid[x][y] = 'S';
            grid[x][y + 1] = 'S';
            grid[x][y + 2] = 'S';
            grid[x][y + 3] = 'S';
            drawGrid(grid);
            retry = 2;
        }

    } catch (InputMismatchException | ArrayIndexOutOfBoundsException e) {
        sc.next();
        System.out.println("Incorrect input please try again!"); 
    }

} while (retry == 2);

0 个答案:

没有答案