Последний пункт не проходит. Показывает , что при вводе Лондон вывод Ивановы.
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
Map<String, String> map = new HashMap<String, String>();
String city = reader.readLine();
map.put("Москва", "Ивановы");
map.put("Киев", "Петровы");
map.put("Лондон", "Абрамовичи");
Iterator<Map.Entry<String, String>> iMap = map.entrySet().iterator();
if(!city.isEmpty()){
while(iMap.hasNext()){
Map.Entry<String, String> pair = iMap.next();
if(pair.getKey().equals(city)){
System.out.println(pair.getValue());
}
}
}
Vlad Lunin
16 уровень
это я с ума схожу или что-то не так?
Решен
Комментарии (7)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #598481
7 февраля 2020, 09:40
мапа заполняется с клавиатуры, а не этими абрамовичами
0
Vlad Lunin
7 февраля 2020, 11:26
Вот условие:
"Программа должна вывести фамилию семьи по введеному городу"
Я так понимаю, что я должен ввести с клавиатуры город, программа должна найти этот город в Map'е и вывести фамилию семьи, которая живет в этом городе?
0
hidden #598481
7 февраля 2020, 11:30
Да, но сначала ты заполняешь эту папу.
Вводишь город-фамилию-город-фамилию-... и т.д., пока не введешь пустую строку.
Потом после пустой строки вводишь город, и программа выдает соответствующую фамилию
+1
Ksenia VolkovaJava Developer в DXCMaster
7 февраля 2020, 11:31
В задаче есть пример ввода.
Как думаешь, зачем там столько строк?
+1
Vlad Lunin
8 февраля 2020, 09:48
а вообще реально заполнить Мар с клавиатуры и в определенный момент завершить заполнение?
Я пробовал сделать так:
Map<String, String> map = new HashMap...
String city = reader.readLine();
String lName = reader.readLine();
for(;true;){
if(key.isEmpty()) break;
map.put(city, lName);
}
но цикл не прерывается при вводе пустой строки
0
Ksenia VolkovaJava Developer в DXCMaster
8 февраля 2020, 09:52
Ты вводишь строки до цикла, один раз. А цикле делаешь проверку какой-то перемаенной key.
0
Vlad Lunin
8 февраля 2020, 10:06
когда писал сообщение кеу забыл на city сменить, извените если запутал. А вообще проблему решил.
Оказалось, что я использовал неправильную последовательность написания строк. Каждый ввод с клавиатуры нужно было делать внутри цикла.
Спасибо за то что помогаете))
0