Полностью правильно работает, но последний пункт не пропускает.
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.HashMap;
import java.util.List;
/*
Модернизация ПО
*/
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) {
System.out.print("Город: ");
String town = reader.readLine();
if (town.isEmpty()) break;
System.out.print("Семья: ");
String family = reader.readLine();
if (family.isEmpty()) break;
addresses.put(town, family);
}
// Read the house number
System.out.print("Найти семью: ");
String familyFind = reader.readLine();
if (!familyFind.isEmpty() && addresses.size() != 0) {
for (HashMap.Entry<String, String> str : addresses.entrySet()){
if (str.getKey().equals(familyFind))
System.out.println(str.getValue());
}
}
}
}