迷宫解算器阵列索引越界异常



我正在研究迷宫解算器,但我在这一行遇到了ArrayOutOfBoundsException

wasHere[row][col] = false;

我看不出怎么会有这样的错误,因为mazewasHerecorrectPath中表示的宽度和高度(行和列的数量)都是相同的。所有数组显示7列4行

private static int[][] maze = {{2, 2, 2, 2, 1, 2, 2}, {2, 2, 2, 2, 1, 2, 2}, 
        {2, 2, 2, 2, 1, 2, 2}, {2, 1, 1, 1, 1, 2, 2}}; // The maze
private static boolean[][] wasHere = new boolean[7][4];
private static boolean[][] correctPath = new boolean[7][4]; // Solution
for (int row = 0; row < maze.length; row++)
{
    // Sets boolean arrays to false
    for (int col = 0; col < maze[row].length; col++)
    {
        wasHere[row][col] = false;
        correctPath[row][col] = false;
    }
}

您将wasHere定义为7乘4,而maze是4乘7。尝试访问时会出现错误,例如row = 0col = 4

相关内容

  • 没有找到相关文章

最新更新