java - 迷宫求解器 ArrayIndexOutOfBoundsException

标签 java arrays multidimensional-array

我正在开发迷宫求解器,但我在这一行遇到了 ArrayOutOfBoundsException:

wasHere[row][col] = false;

我不明白怎么可能出现这样的错误,因为迷宫中表示的宽度和高度(行数和列数),wasHere,和 CorrectPath 都是相同的。所有数组均显示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 x 4,而 maze 为 4 x 7。当您尝试访问时,您会收到错误,例如 行 = 0列 = 4

关于java - 迷宫求解器 ArrayIndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31096365/

相关文章:

c - 通过 C 中的 for 循环将字母表附加到数组

php - 将 PHP 数组从 MySQL 编码为 JSON

c - 如何在 C 中正确创建二维 int 数组的数组?

php - 如何递归地向每个数组添加键?

java - 在java中,如何使用正则表达式模式来解析 "Event=Bell,time=9000,rings=5"以获​​取事件名称和两个数字字符串?

java - 将一定大小初始化为数组

java - 从 JSON 解析字符串中的 URL

javascript - 获取 JavaScript 多维数组的名称,而不是子数组

java - 无法配置数据源 : 'url' attribute is not specified and no embedded datasource could be configured. SPRING

java - 使用Hadoop MapReduce在不同的节点上处理不同的文件