Пробовал Решить Через for теперь через While. Выводил значение в самом if И просто присваивал и Выводил после цикла. Не могу понять. Программа работает. В чем ошибка?
Решал так же.
String s="";
Iterator<Map.Entry<String, String>> iterator = list.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry <String,String > addr =iterator.next();
String keyCity= addr.getKey();
String valueName= addr.getValue();
if (keyCity.equals(houseNumber)){
s=valueName;
}
}
System.out.println(s);
package com.javarush.task.task08.task0829;
import javax.swing.text.html.HTMLDocument;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
/*
Модернизация ПО
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
Map<String,String> list = new HashMap<>();
while (true) {
String city = reader.readLine();
String family = reader.readLine();
if (city.isEmpty()) {
break;
}
list.put(city,family);
}
String houseNumber = reader.readLine();
Iterator<Map.Entry<String, String>> iterator = list.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry <String,String > addr =iterator.next();
String keyCity= addr.getKey();
String valueName= addr.getValue();
if (keyCity.equals(houseNumber)){
System.out.println(valueName);
}
}
}
}