Все согласно условию.
Валидатор не принмиает!
Ругается на "Если после числа была введена пустая строка, это число также должно быть выведено на экран (не должно потеряться)."
но это число я вывожу.
package com.javarush.task.task10.task1019;
import java.io.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/*
Функциональности маловато!
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
HashMap<String, Integer> map = new HashMap<>();
List<Integer>list = new ArrayList<>();
while (true) {
String str = reader.readLine();
if (str.isEmpty())
break;
int id = Integer.parseInt(str);
String name = reader.readLine();
if (name.isEmpty()){
//list.add(id);
map.put("",id); //так тоже не принимает.
break;}
map.put(name, id);}
for (Map.Entry<String, Integer> pair : map.entrySet()){
String key = pair.getKey(); //ключ
Integer value = pair.getValue(); //значение
System.out.println(value+ " - " + key );
}
//if (!list.isEmpty())
// System.out.println(list.get(0));
}
}