Запускаю тот же код в Intellij idea и все работает отлично, но здесь он вовсе не компилируется и бросает NullPointerException, хоть я и сделал проверку на пустую строку и наличие ключа в Map.
package com.javarush.task.task08.task0829;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.HashMap;
import java.util.Map;
/*
Модернизация ПО
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
Map<String,String> map = new HashMap<>();
String city,family,familyName;
while (true) {
city = reader.readLine();
family = reader.readLine();
if (family.isEmpty() || city.isEmpty()) {
break;
}
map.put(city,family);
}
String key = "";
while(key.isEmpty()) {
key = reader.readLine();
}
if(map.containsKey(key)) {
familyName = map.get(key);
System.out.println(familyName);
}
}
}