Помогите разобраться.
Не пойму почему не работает.
Уже, для упрощения, сделал сначала без условия на прерывание пустой строкой. Просто задал цикл (for) на определенной количеством пар.
С конечным циклом все отработало.
Пытаюсь сделать тоже самое уже с while с условием выхода из ввода в случае isEmpty().
Получаю ошибку NFE.
Уважаемые гуру, помогите разобраться.
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
HashMap<String, Integer> map = new HashMap<>();
while (true) {
if (reader.readLine().isEmpty()) {
break;
} else {
int id = Integer.parseInt(reader.readLine());
String name = reader.readLine();
map.put(name, id);
}
}
for (HashMap.Entry<String, Integer> pair: map.entrySet()) {
int id = pair.getValue();
String name = pair.getKey();
System.out.println(id + " " + name);
}
}
}