Ввод:
1
q
Вывод:
1 q
Ввел пару число-строка, вывелось как и просили число и строка через пробел. Ничего не потерялось.
Ввод:
1
q
2
Вывод:
1 q
2
Ввел число-строка и число-просто нажал Enter (не вводил строку), вывелось как и просили число и строка через пробел, во второй строке только число. Ничего не потерялось (на первый взгляд).
Но валидатор выдал
На всякий случай изменил вывод на
System.out.println(id + " " + name + "SSS");
Просто проверить на наличие лишнего в паре число-пустота
Ввод:
1
q
2
Вывод:
1 qSSS
2 SSS
Итог - ничего лишнего.
Теперь вопрос - чего от меня хочет валидатор?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<Integer, String> map = new HashMap<>();
while (true) {
String in = reader.readLine();
if (!in.isEmpty()) {
int id = Integer.parseInt(in);
String name = reader.readLine();
if (name.isEmpty()){
map.put(id,"");
break;
}
map.put(id, name);
} else break;
}
for (Map.Entry<Integer, String> pair : map.entrySet()) {
int id = pair.getKey();
String name = pair.getValue();
System.out.println(id + " " + name);
}
}
}