1

テキスト ファイルからタイル マップを読み取る次のコードを記述しましたが、理由がわかりませんが、null ポイント例外エラーが発生します。

リーダーのコード:

BufferedReader br = new BufferedReader(new FileReader(s));

        readMapWidth = Integer.parseInt(br.readLine());
        readMapHeight = Integer.parseInt(br.readLine());
        map = new int[readMapHeight][readMapWidth];

        for(int row = 0; row < readMapHeight; row++) {
            String line = br.readLine();
            System.out.println(line);
            String[] tileValues = line.split(",");
            for(int col = 0; col < readMapWidth; col++){
                map[row][col] = Integer.parseInt(tileValues[col]);  

            }
        }
    }

テキスト ファイルの内容:

ここに画像の説明を入力

コマンド コンソールがエラーとして返すもの:

java.lang.NullPointerException
at TileMap.<init>(TileMap.java:58)

これは行です:

                String[] tileValues = line.split(",");

線は完璧に読み取れ、マップを画面に描画できます。ただし、後でパスファインディングに使用するために実際に保存された2次元配列が必要ですが、この行はnull値を返しているため、理由がわかりません。

「System.out.println(line)」が私を混乱させるのは次のとおりです。

[final line of the map here, map lines print as normal]
null 

ヌル?わかりません。私のテキスト ファイルには 27 行しかなく、分割に関する null 例外はどこから来ているのでしょうか?

4

3 に答える 3