前提・実現したいこと
学生です。JAVAの練習問題でひっかかっています。
(1).[メニュー]を表示
(2).数字の入力を求める
(3).1〜4が入力された場合、対応するテキストを表示させ、(1)に戻る
(4).5が入力されたら「終了」と表示しswitch文を終了
(5).それ以外の数字が入力されたら「1〜5を入力して」と表示して(1)に戻る
※switch文、do while文を使うこと
発生している問題・エラーメッセージ
(3)以降が全く分からないです。1〜4を入力後、(1)の[メニュー]に戻れずそのまま終わります 5を入力するとループします。
該当のソースコード
java
1ublic class Main { 2 public static void main(String[] args) { 3 4 System.out.print ("[メニュー]1:検索 2:登録 3:削除 4:変更 5:終了 >"); 5 int selected = new java.util.Scanner(System.in).nextInt(); 6 7 do { 8 switch (selected) { 9 case 1: 10 System.out.print("検索します"); 11 break; 12 case 2: 13 System.out.print("登録します"); 14 break; 15 case 3: 16 System.out.print("削除します"); 17 break; 18 case 4: 19 System.out.print("変更します"); 20 break; 21 case 5: 22 System.out.print("終了します"); 23 break; 24 default : 25 System.out.print("1〜5を入力してください"); 26 break; 27 } 28 } while (selected == 5); 29 } 30}
試したこと
do whileとswitchの記述の順番を変えたり、selectedの宣言をdoの中に入れたりしましたが
うまくいきません。
補足情報(FW/ツールのバージョンなど)
MacOS、VSCode
初質問ですがよろしくお願いします。
do~whileとswitchを使わなければできるのでしょうか。whileとifに置き換えて、とか。それができない場合、基本的なロジックを組める力がまだ足りないと考えられます。
> do whileとswitchの記述の順番を変えたり、selectedの宣言をdoの中に入れたりしましたが
うまくいきません。
コードをこねくり回しても決して完成しません。