public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
HashMap<Integer, String> map = new HashMap<>();
while (true){
String shell = reader.readLine();
if (shell.isEmpty()){
break;
}
int id = Integer.parseInt(shell);
String name = reader.readLine();
map.put(id,name);
if (name.isEmpty()){
break;
}
}
for (HashMap.Entry<Integer, String> pair : map.entrySet()) {
int key = pair.getKey();
String value = pair.getValue();
System.out.println(key + " " + value);
}
}
Максим Алексеенко
16 уровень
Всё работает но не проходит проверку
Решен
Комментарии (8)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Владимир Нагорный
26 марта 2020, 15:08полезный
Вот здесь у тебя в мапе ключ типа Integer, а значение типа String, а по условиям задачи должно быть наоборот.
Еще я бы проверку поставил перед записью в мапу:
+1
hidden #598481
26 марта 2020, 15:22решение
Да-Да-Нет-Да.
В том смысле что насчет ключа и значения ты правильно сказал, а насчет проверки до записи - нет. Пустая строка - это тоже строка, и она тоже может быть ключом мапы.
+2
Владимир Нагорный
26 марта 2020, 15:36
Это да, но исходя из условий задачи "Пустая строка - конец ввода данных."
Т.е. При вводе пустой строки в качестве ключа - не будет значения.
А при вводе значения пустая стока не преобразуется в тип Integer.
0
hidden #598481
26 марта 2020, 15:39
нет, первым вводится число, то есть значение.
Если в качестве числа введена не пустая строка, то значение уже есть, и цикл еще не прерван. Следом считываем строку-ключ, и пустая строка может быть ключом.
Есть еще в условии жирная фраза "Введенные данные не должны потеряться!"
Если не использовать пустую строку ключом, то последнее введенное перед этим число потеряется.
0
Владимир Нагорный
26 марта 2020, 15:42
Точно, забыл про обратный ввод))
0
Максим Алексеенко
26 марта 2020, 15:49
если я поменяю HashMap<Integer, String> на HashMap<String, Integer>. то будет ошибка. Потому как ожидается ввод цифры 1 а потом строки мама
0
Максим Алексеенко
26 марта 2020, 16:02
короче сутки перебирал наугад варианты, в итоге получилось.
0
Владимир Нагорный
26 марта 2020, 16:36
Верно, просто сперва ты вводишь значение, а потом ключ
0