You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从文本文件生成迷宫时字符缺失、起点位置错误的原因排查

问题排查:文本地图转二维char数组异常

我正在将文本文件转换为二维char数组并定位特定字符的索引,任务是读取文本格式的地图并找出最短出路。目前已完成转换,但控制台打印地图时部分字符缺失,且起点位置不正确(预期为[1,2],实际为[1,3])。计划采用二进制迷宫相关逻辑实现,以下是我的代码:

获取地图行数的方法

private static int getRowsOfTheMap() throws IOException {
    int rows = 0;
    BufferedReader reader = getReader(filePath);
    while (reader.readLine() != null) rows++;
    reader.close();
    return rows;
}

获取地图列数的方法

private static int getColumnsOfTheMap() throws IOException {
    BufferedReader reader = getReader(filePath);
    String firstRow = reader.readLine();

    return firstRow.length();
}

生成二维char数组地图的方法

private static char[][] getMapFromFile() throws IOException {

    char[][] map = new char[getRowsOfTheMap()][getColumnsOfTheMap()];

    BufferedReader reader = getReader(filePath);

    for (int i = 0; i < map.length; i++) {
        for (int j = 0; j < map[0].length; j++) {
            map[i][j] = (char) reader.read();
        }
    }
    return map;
}

获取起点位置的方法

private static int[] getStartingPoint(char[][] map) {
    int[] startingPoint = {
        -1,
        -1
    };
    for (int i = 0; i < map.length; i++) {
        for (int j = 0; j < map[i].length; j++) {
            if (map[i][j] == 'X') {
                startingPoint[0] = i;
                startingPoint[1] = j;
            }
        }
    }
    return startingPoint;
}

同时附上文本文件地图与转换后地图的对比图,请求排查问题原因。

内容的提问来源于stack exchange,提问作者ErikVM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 03:55:06