Валидатор пишет одно и тоже: "Если после числа была введена пустая строка, это число также должно быть выведено на экран (не должно потеряться)."
Хорошо, а в каком виде я должен сохранять это число и когда его выводить? Я записывал его в HashMap, специально придумывая для этого числа уникальный ключ-строку "no name". Я также просто выводил это число на экран до того как начинался вывод содержимого HashMap, но ничего не помогает. Как я понял из условия задачи, поскольку числа могут повторяться, а строки - уникальны, то строки это ключи, а числа - значения.
Программа в каждом случае отрабатывает правильно, но валидатор ругается...
package com.javarush.task.task10.task1019;
import java.io.*;
import java.util.HashMap;
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<>();
String s;
while ((s = reader.readLine()) != null) {
int id = Integer.parseInt(s);
String name = reader.readLine();
if (name == null) {
/*name = "noname";
map.put(name, id);*/
System.out.println(id);
break;
}
map.put(name, id);
}
for (Map.Entry<String, Integer> rec: map.entrySet()) {
int id = rec.getValue();
String name = rec.getKey();
System.out.println(id + " " + name);
}
}
}