こんにちは。
HashMapについて質問です。
タイトルにありますとおりendと入力されたらそれまでに入力されたデータを出力したいのですがwhile文はどのようにかけばよいのでしょうか。
最後に入力された値しか出力されません。
上書きされないようにするにはどうすればよろしいでしょうか。
また例外処理も文字列以外をいれてもエラーメッセージが表示されません。
改善すべきところをご教授頂きたいです。
Java
1package common; 2 3import java.util.HashMap; 4import java.util.InputMismatchException; 5 6public class UserDataHashMap { 7 public static void userData() { 8 //HashMapデータを作成 9 HashMap<String, String> hm = new HashMap<String, String>(); 10 11 boolean isConti = true; 12 while (isConti) { 13 //endと入力されるまでユーザー名の入力を求める 14 System.out.println("入力してください"); 15 String inputData = new java.util.Scanner(System.in).nextLine(); 16 17 try { 18 if (inputData.equals("end")) { 19 isConti = false; 20 } else { 21 22 String userName = inputData; 23 hm.put("name", userName); 24 } 25 }catch(InputMismatchException e){ 26 System.out.println("不正データです"); 27 } 28 29 30 31 } 32 33 //画面表示 34 System.out.println("name: " + hm.get("name")); 35 36 } 37}