Приветсвую. Прошу помощи в решении задачи. Не могу понять почему ругается валидатор.
Требование валидатора:
Программа должна выводить на экран содержимое HashMap согласно условию. Ключ и значение разделены пробелом. Каждое значение с новой строки.
Если вместо числа была введена пустая строка, то программа должна вывести содержимое HashMap согласно условию.
Спасибо.
package com.javarush.task.task10.task1019;
/*
Функциональности маловато!
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class Solution {
public static void main(String[] args) throws IOException {
boolean exit = false;
HashMap<String, Integer> map = new HashMap<String, Integer>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while (true) {
try {
String containerForCheck = reader.readLine();
if (containerForCheck.trim().isEmpty()) {
printMap(map);
exit = true;
break;
} else {
Integer id = Integer.parseInt(containerForCheck);
String name = reader.readLine();
if (name.trim().isEmpty()) { //map.put(null,id);
printMap(map);
exit = true;
break;
} else {
if (map.containsKey(name)) {
while (map.containsKey(name) != false) {
System.out.println("Введите уникальную не пустую строку!!!");
name = reader.readLine();
}
if (name.trim().isEmpty()) { //map.put(null,id);
break;
} else {
map.put(name, id);
}
} else {
map.put(name, id);
}
}
}
} catch (NumberFormatException ex) {
System.out.println("Введите целое число!!!");
}
}
if (exit = false)
{ printMap(map);}
}
public static void printMap(HashMap map) {
Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Integer> entity = iterator.next();
System.out.println("Id=" + entity.getValue() + " Name=" + entity.getKey());
}
}
}
/*
Функциональности маловато!
Задача: Программа вводит с клавиатуры пару (число и строку) и выводит их на экран.
Новая задача: Программа вводит с клавиатуры пары (число и строку), сохраняет их в HashMap.
Пустая строка - конец ввода данных.
Числа могут повторяться.
Строки всегда уникальны.
Введенные данные не должны потеряться!
Затем программа выводит содержание HashMap на экран.
Каждую пару с новой строки.
Пример ввода:
1
Мама
2
Рама
1
Мыла
Пример вывода:
1 Мыла
2 Рама
1 Мама
Требования:
1. Программа должна считывать данные с клавиатуры.
2. Программа должна выводить текст на экран.
3. В методе main объяви переменную коллекции HashMap и сразу проинициализируй ee.
4. Программа должна помещать в HashMap пары считанные с клавиатуры.
5. Программа должна выводить на экран содержимое HashMap согласно условию. Ключ и значение разделены пробелом. Каждое значение с новой строки.
*/