Добрый день! Не могу понять, что от меня хотят, подскажите, пожалуйста.
В задании:
"Пример ввода:
Москва
Ивановы
Киев
Петровы
Лондон
Абрамовичи
Лондон"
А в самой задаче ввод без пробела:
"Москва
Абрамовичи
Киев
Ивановы
Лондон
Петровы"
Естественно у меня выбрасывает NullPointerException, хотя, если брать первоначальное условие, то все работает корректно, проверял в Идеи.
Да, в коде есть небольшая ошибка, что можно выйти за пределы массива при выводе на экран в последнем цикле, но в задаче подразумевается то, что город идет перед фамилией, поэтому код всегда должен работать верно.
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;
/*
Модернизация ПО
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// List of addresses
List<String> addresses = new ArrayList<>();
while (true) {
String family = reader.readLine();
if (family.isEmpty())
break;
addresses.add(family);
}
// Read the house number
String city = reader.readLine();
for (int i = 0; i < addresses.size(); i++) {
if (city.equals(addresses.get(i)))
System.out.println(addresses.get(i + 1));
}
}
}