質問: br.readLine(); list.put("cat", "猫です"); list.put("dog", "犬です"); list.put("bird", "鳥です"); list.put("tiger", "虎です"); if (buf.equals("")) { System.out.println("対応するデータは登録されていません。"); } } } private static void showResult(Map c1) { for (Map.Entry a : c1.entrySet()) { System.out.println(a.getKey() + " : " + a.getValue()); } } } ``` 結果通りにならず困っております。 大変申し訳ございません。ご教示願います。
回答: @euledgeさんの回答を参考に修正 -修正箇所- getOrDefaultに変更 listをmapに変更 ``` import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Map; public class memo_qa148877 { public static void main(String[] args) throws IOException { Map map = new HashMap<>(); InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String buf; //辞書追加 map.put("cat", "猫です"); map.put("dog", "犬です"); map.put("bird", "鳥です"); map.put("tiger", "虎です"); while (true) { System.out.print("英語で動物の名前を入力してください:"); buf = br.readLine(); //終了判定 if (buf.equals("")) { System.out.println("プログラムを終了します。"); break; } //辞書判定 String str = map.getOrDefault(buf,"対応するデータは登録されていません。" ); System.out.println(str); } } } ``` 出力結果 ``` 英語で動物の名前を入力してください:cat 猫です 英語で動物の名前を入力してください:horse 対応するデータは登録されていません。 英語で動物の名前を入力してください:deer 対応するデータは登録されていません。 英語で動物の名前を入力してください: プログラムを終了します。 ```