質問: 0)){ errors.put("nickName", " * 氏名を入力してください。"); errors.put("eMail", " * メールアドレスを入力してください。"); } パターンの種類が多くてもifをたくさん使うやり方が望ましいのでしょうか??
回答: どのやり方もケースバイケースではありますが、この場合、私なら氏名、メール、パスワード、ユーザー名について一つずつif文による判定を入れ、**エラーになった分のエラー文言を配列に格納します。** その後、**配列に一つでも値が入っていれば、その値を繰り返し処理で全て表示します。** これで、一つ一つのエラーチェックに対して、該当するエラーのみを表示することが出来ます。 ■処理概要 1.エラー文言配列「error」を宣言 2.氏名が入力されていない → errorに「氏名を入力して下さい」を格納 3.メールが入力されていない → errorに「メールを入力して下さい」を格納 4.パスワードが入力されていない → errorに「パスワードを入力して下さい」を格納 5.ユーザーが入力されていない → errorに「ユーザーを入力して下さい」を格納 6.errorの配列の長さが0でなければ、errorに格納されている値を全て表示する ※追記 例えばこんな感じでしょうか。デバッグしていないので動くかどうかは分かりません。参考程度としてください。 ``` ArrayList errors = new ArrayList(); if(nickName == null){ errors.add(" * 氏名を入力してください。"); } if(eMail == null){ errors.add(" * メールアドレスを入力してください。"); } if(pass == null){ errors.add(" * パスワードを入力してください。"); } if(userName == null){ errors.add(" * ユーザー名を入力してください。"); } if(errors.isEmpty == false){ //エラー処理 for(int i=0; i < errors.size(); i++) { System.out.println(errors.get(i)); } } ```