質問: a; while(true){ if(e > 0){ e-=d; System.out.println("\r\n勇者の攻撃。"); reader.readLine(); System.out.println(c+"に、"+d+"ダメージ。\r\n"); System.out.println(c+" HP:"+ e +" MP:"+ b+"\r\n"); reader.readLine(); }else{ System.out.println(c+"を倒した。"); break; } } }
回答: コードを整形しました。 書いていただいたコードには最後の閉じかっこがありませんので追加しました。 ``` import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Random; public class game1 { public static void main(String[] args) { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.println("モンスターがあらわれた。\r\n"); Random rnd = new Random(); int a = 100; // モンスターのHP int b = rnd.nextInt(100) + 1; // モンスターのMP String c = "MONSTER1"; // モンスター名 int d = rnd.nextInt(100) + 1; // ダメージ System.out.println(c + " HP:" + a + " " + "MP:" + b); int e = a; while (true) { if (e > 0) { e -= d; System.out.println("\r\n勇者の攻撃。"); reader.readLine(); System.out.println(c + "に、" + d + "ダメージ。\r\n"); System.out.println(c + " HP:" + e + " MP:" + b + "\r\n"); reader.readLine(); } else { System.out.println(c + "を倒した。"); break; } } } } ``` "うまくいかない"のは具体的にはコンパイルエラーなのではないかと思いますが、というのも、 `reader.readLine();`はIOExceptionが発生する可能性があるため、この行でtry~catchをするか、またはmainメソッドにて、throws IOException を追加して、例外をハンドリングしなければなりません。