質問: stdIn.nextDouble(); myCar.refueling(plusfuel); } } } } ### 試したこと 実行してみると「移動しますか」の段階で0を選ぶと、ちゃんとそこで終わってくれますが、 1や2を選ぶと改行されただけでそれ以降何も表示されなくなってしまいます。 どのようにすればちゃんと1や2に分岐されるようになるのでしょうか? ### 補足情報(言語/FW/ツール等のバージョンなど) java
回答: while (true)のループ内の処理に問題があるようです。 「if (stdIn.nextInt() == 0)」の「stdIn.nextInt()」で入力待ちになります。 1を入力すると結果がfalseになり、次の「if (stdIn.nextInt() == 1)」で入力待ちになります。 やり方いことは以下だと思います。 ``` // 修正案 int inputNumber = stdIn.nextInt(); if (inputNumber == 0) break; if (inputNumber == 1) { System.out.print("X方向の移動距離 : "); double dx = stdIn.nextDouble(); System.out.print("Y方向の移動距離 : "); double dy = stdIn.nextDouble(); if (!myCar.move(dx, dy)) System.out.println("燃料が足りません!"); } else if (inputNumber == 2) { System.out.print("何L給油しますか : "); double plusfuel = stdIn.nextDouble(); myCar.refueling(plusfuel); } ```