Первая часть работает. Проверял выводом на экран: создает карту с городами (ключ) и фамилиями (значение) public class Solution { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); //list of addresses HashMap<String, String> addresses = new HashMap<>(); while (true) { String city = reader.readLine(); if (city.isEmpty()) break; addresses.put(city, reader.readLine()); } Подскажите, а где в этой части ошибка? Валидатор не пускает.
String cityName = reader.readLine();
//int houseNumber = Integer.parseInt(reader.readLine());

if (addresses.containsValue(cityName)) // Если карта adresses содержин ключ cityName, то выполняется:
{
    //String familySecondName = addresses.get(houseNumber);
    System.out.println(addresses.get(cityName)); // вывести на экран значение карты, полученное по ключу cityName
}