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 {
HashMap<String, Integer> map = new HashMap<String, Integer>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while(true){
int id = Integer.parseInt(reader.readLine());
String name = reader.readLine();
map.put(name, id);
System.out.println(id + " " + name);
}
}
}
код прошел проверку, но он не прекращает считывать данные и выдает исключение, и не выводит значения при условии что ключ пустойДаниил
26 уровень
Админам
Решен
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Сергей Козырев
15 мая 2019, 06:09
Кстати, забавно - автор не лукавит, что такой код проходит проверку. Ведь в "требованиях" (по сути это тест-кейсы) нет проверки на условие задачи "Пустая строка - конец ввода данных".
Так что можно загнать бесконечный цикл, нажать "Проверить" и наслаждаться собственной гениальность. Авторы, закройте дыру, штоле:)
0
Джошуа Сургутский
13 мая 2019, 03:55
try {
while (true) {
int id = Integer.parseInt(reader.readLine());
String name = reader.readLine();
map.put(name, id);
System.out.println(id + " " + name);
}
}catch (NumberFormatException e ){
// NOP
}
0
Maria KucherovaAndroid Developer в IceRock
11 мая 2019, 14:07
Не прекращает считывать данные потому, что у вас получился бесконечный цикл без условия выхода из него.
0
Сергеев ВикторMaster
11 мая 2019, 12:30
интересно, какое исключение?
0
Джошуа Сургутский
13 мая 2019, 03:47
скорее всего NFE поскольку цикл бесконечный и в итоге
считывает в id вводимую с консоли стри нговую переменную и
int id = Integer.parseInt(reader.readLine()); дает NFE
0