質問: 0; //数字入力させるコマンド? System.out.println("1~3の数字を入力してください"); System.out.println(); do { //doの処理文 System.out.println(i + "回目ですどうぞ!" +" "+ "合計:" + sum); sum += Integer.parseInt( br.readLine()); i ++; }while(sum < 32);//whileの条件が32なら32に達すると処理が終了する。 if ( 1>= x && x <= 3) { System.out.println("1~3の数字を入力してください"); }else { System.out.println(); } System.out.println(sum + "あなたの負けです。"); } } if文で検討しているのですがifで(1>= x && x <= 3)の場合エラーとした場合 正常に処理する場合elseは必要なのでしょうか? また、プレイヤーAとBを交互に表示するにはどうしたらいいのでしょうか? お目汚し失礼致します。
回答: コードが煩雑で追いづらいならば、適当にメソッドを定義して整理してやると良いです。 ``` // 1以上3以下の数値を取得できるまで入力を要求する static int inputInt1to3(BufferedReader br, String prompt) { 無限ループ { プロンプトを表示; int input = 入力; if(入力が適正) { return input; } 入力が不適正で有る旨の出力; } } ``` ``` do { int x = inputInt1to3(br, 適当な文字列); ... } while(...); ``` > > また、プレイヤーAとBを交互に表示するにはどうしたらいいのでしょうか? > > > boolean型の変数を用意して、それを手番の判定に用いるのが単純な方法でしょう。 コードの書き方について teratailには、コードを見やすく表示する機能が有ります。 質問編集画面を開き、コードを選択した状態でボタンを押して下さい。 !Java