Javaでゲームを作ろう<テキストアドベンチャーゲーム>2回目

プログラム

本日の課題

完成したものはこちら
loadStoryメソッドは以下の手順で動作します:
「images/story.csv」 ファイルを開く。
各行を読み込み、カンマで分割して2次元配列 String[][] に変換する。
例外が発生した場合は、そのエラーメッセージを出力する。

ソースコード


private static void loadStory() {
try (BufferedReader br = new BufferedReader(new FileReader(“images/story.csv”))) {
String line;
story = br.lines().map(l -> l.split(“,”)).toArray(String[][]::new);
} catch (IOException e) {
e.printStackTrace();
}
}

解説

1. メソッドの宣言
private static void loadStory() {
・private:このメソッドはクラス内からのみアクセスできます。
・static:このメソッドはクラスメソッドであり、インスタンス化せずに呼び出すことができます。
・void:このメソッドは値を返しません。

2. ファイルを開く
try (BufferedReader br = new BufferedReader(new FileReader(“images/story.csv”))) {
・try:リソースを自動的に閉じるための try-with-resources 構文を使っています。
・BufferedReader:ファイルを読み込むためのクラス。文字ストリームをバッファリングして効率よく読み込むために使用します。
・FileReader:ファイルからテキストデータを読み込むためのクラス。
・images/story.csv:読み込むCSVファイルのパス。

3. 変数の宣言
String line;
・line:ファイルから読み込んだ一行を格納するための変数。

4. ファイルの各行を読み込んで処理
story = br.lines().map(l -> l.split(“,”)).toArray(String[][]::new);
・br.lines():BufferedReader からストリーム形式で行を取得します。
・map(l -> l.split(“,”)):各行をカンマで分割して、文字列の配列に変換します。
・l.split(“,”):カンマ区切りで行を分割します。
・toArray(String[][]::new):分割した行の配列を2次元配列 String[][] に変換します。
・String[][]::new:新しい2次元配列を作成するためのコンストラクタ参照です。

5. 例外処理
} catch (IOException e) {
e.printStackTrace();
}
・catch (IOException e):ファイルの読み込み中にエラー(例:ファイルが見つからない、読み取り中のエラーなど)が発生した場合に処理します。
・e.printStackTrace():エラーメッセージを出力します。デバッグのために使われます。

目次に戻る

スポンサーリンク

コメント

タイトルとURLをコピーしました