Здравствуйте.
Не вижу, чтобы валидатор отдавал на ввод данные, указанные в примере задания. И ничего похожего. Выходит ошибка java.lang.NullPointerException.
В IDE спокойно всё работает.
В чём же дело?
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.Map;
import java.util.HashMap;
import java.util.Iterator;
/*
Модернизация ПО
*/
/*Опишем класс, в объекты которого будем сохранять пару "Город-фамилия"*/
public class Solution {
static class Humadd{
public String city;
public String family;
Humadd(String city, String family) {
this.city = city;
this.family = family;
}
}
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
List<Humadd> addresses = new ArrayList<Humadd>();
Humadd had;
/*Заполним список пар город-фамилия*/
while (true) {
System.out.println("Укажите город");
String city = reader.readLine();
if (city.isEmpty()) break;
System.out.println("Укажите фамилию");
String family = reader.readLine();
if (family.isEmpty()) break;
addresses.add(new Humadd(city, family));
}
/*Чтобы было удобно выбрать по городу фамилию, перебросим наш лист в HashMap*/
HashMap<String, String> hm = new HashMap<String, String>();
Iterator<Humadd> ithm = addresses.iterator();
while (ithm.hasNext()) {
Humadd temphm = ithm.next();
hm.put(temphm.city, temphm.family);
}
/*Теперь, зная ключ (город), спокойно выводим значение (фамилию)*/
System.out.println("Запросите по Городу");
String town = reader.readLine();
System.out.println(hm.get(town));
}
}