- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javaの配列とファイル読み込みについて。)
Javaの配列とファイル読み込みについて
このQ&Aのポイント
- Javaの配列とファイル読み込みについて困っています。ファイルからマップのデータを読み込んで配列に格納する方法がわかりません。
- readLine()メソッドを使用してファイルから1行ずつ読み込んでいますが、改行がないためにファイルの最初から最後まで読み込むことができました。しかし、その後の配列への格納方法が分かりません。
- 参考にしているページはhttp://javagame.skr.jp/index.php?%A5%DE%A5%C3%A5%D7%A4%CE%C6%C9%A4%DF%B9%FE%A4%DFです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
何で困っているのかが質問から読み取れないのですが… > これなんですがreadLine()は1行読み込むと見たんですが、 > 多分ファイルに改行がないために最初から最後まで読み込めたんじゃないかとおもいます。 このプログラムは、リンク先にあるような ・1行目にマップの行数 ・2行目にマップの列数 ・3行目以降にマップのデータ (1行にマップ1行分) という形のテキストファイルを読み込む想定になっています。 にもかかわらず敢えて改行のないファイルを読み込ませようとしているのですか? それとも、違う意味でしょうか? > そのあとの配列へ入れるやり方がよくわかりません。どうなっているんでしょうか? map[i][j] = Integer.parseInt(line.charAt(j) + ""); の部分で何をやっているかが分からないということでしょうか? もしそうなら、 ・line.charAt(j)で、文字列lineからj番目の文字を取り出す (例として、lineが"1111022222201111"でjの値が4のとき取り出される文字は'0') ・Integer.parseInt()の引数はStringであって文字 (char型) ではないので、char型に空文字列 ("") を足すことでStringを作る ・そのStringをInteger.parseInt()によってint型の値に変換し、map[i][j]へ代入 ということです。
補足
質問わかりづらくてすみませんでした。 readLineがいまいちわかっていなかったのでなぜ同じことをして 行と列が読み込めているのかがわかっていませんでした。 他のところもよくわからなかったんですがおかげですっきりしました。 ありがとうございました。