同じ記述を使いまわし、出来る限り同一の記述を減らすためには
javaでRPGを作っています。キャラクター作成時、職業を選択し、選択した職業ごとに該当する職業クラス群からステータスやスキルデータを取り出してキャラクター用のテキストファイルに挿入するという処理を行なっています。
ここで、選択した職業を判別する際(scannerで取得した文章をstringに直しif文で判別しています)、職業を判別しインスタンスを生成するのですが、このインスタンスの寿命がif内で終わっており、その後のインスタンスから職業クラスのデータ(ステータスやスキル等)を取り出す処理を全ての条件分岐先で書き込んでしまっています。
同一の処理を連続して書き込んでいるため、(動作はしますが)見栄えが悪いです。
インスタンスの中身を表示する専用のメソッドを作るという方法があると思いますが、職業クラスのデータには変数が多く(攻撃力や防御力など)、インスタンスから参照する回数が多いので、メソッドに送る情報量が多くなってしまい、複雑になるばかりなのであまり良い解決策とは思えません。
もっと便利な構文があるのだと思いますが、思いつきませんでした。
勉強不足感は否めませんが、どうか知恵をお貸しください。
よろしくお願いします。
Properties properties=new Properties(); ~ Scanner scanner=new Scanner(System.in); String create_character_type=scanner.nextLine(); ~ if(create_character_type.equals("戦士")){ jobs.Senshi create_character_instance=new jobs.Senshi(); properties.setProperty("type",create_character_instance.type); ~
回答2件
あなたの回答
tips
プレビュー