質問: br.readLine(); if (str.equals("1")) { System.out.println("1が入力されました"); } else if (str.equals("2")) { System.out.println("2が入力されました"); } else if (str.equals("3")) { System.out.println("3が入力されました"); }else { System.out.println("入力をやり直してください。"); } } } ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー このコードに繰り返し文を追加したいと思っています。 よろしければ解説等も加えていただけると、励みになります。 お手数ですがご教授お願いします。
回答: 素直に無限ループするならこのようになるのではないでしょうか。 ``` int val; while(true) { String str = br.readLine(); if(strが1あるいは2あるいは3) { val = Integer.valueOf(str); break; } 以下略 } ``` 問題は`strが1あるいは2あるいは3`をどう表現するか、ということです。 * 逐一if文でチェックして、同じ処理を何度も書く * 論理和を用いて複合的な条件を記述する * strが`{"1", "2", "3"}`に含まれるか、という論理に置き換える ざっと考えただけでこんな感じです。 今の実力で、自力で書けそうなものを試してみると良いでしょう。 コードの書き方について teratailには、上記のようにコードを見やすく表示する機能があります。 質問編集画面を開き、コードを選択した状態でボタンを押してください。 !Java