Функциональности маловато!

  • 6
  • Недоступна
Старая задача: с клавиатуры вводятся пары (число и строка), затем они выводятся на экран. Новая задача: вводим с клавиатуры те же пары, сохраняя их в HashMap. Пустая строка – конец ввода данных. Числа могут повторяться, а строки — нет. Введенные данные не должны потеряться! Затем программа выводит содержание HashMap на экран, каждую пару с новой строки.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (254)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Vladislav Kuzmenko11 уровень, Санкт-Петербург
вчера, 20:08
Извращенная логика постановки задач вот какой практический смысл в такой постановке задачи? Умница - НИКАКОГО!!! а нахера это? ой, простите, ЗАЧЕМ??? а затем, чтобы ты время на этот примитив потратил больше, чем нужно. почему я вместо 5-10 минут должен тратить по 20-30 минут, а иногда и больше? да для того, чтобы я дольше курс проходил, и денег соответственно больше потратил... мда, деньги не пахнут... по факту, за это время можно несколько методов find для разных случаев написать с запросами к бд, еще validateWrite() написать и новое перечисление, на которое логика в find будет прописана. Author, SHAME ON YOU!!!
Юрий11 уровень, Кишинёв
вчера, 12:05
Я проверку на пустую строку сделал так, более по условию получается: String name = reader.readLine(); if (name.isEmpty()){ myMap.put(name, id); break; }
Антон10 уровень
вторник, 20:01
хз зачем такое делать, это просто нервотрепка. 5 попыток на "HashMap<String, Integer> map = new HashMap<>();" типа "Map<String, Integer> map = new HashMap<>();" валидатор не устраивает. горит от такого...
IceBerg41 уровень, Кривой Рог
позавчера, 21:22
В условии всё однозначно сказано "В методе main объяви переменную коллекции HashMap"
Vladislav Kuzmenko11 уровень, Санкт-Петербург
вчера, 19:51
и...
IceBerg41 уровень, Кривой Рог
вчера, 20:08
И то, что нужно условия соблюдать, тогда не будет нервотрёпки.
Asad Vice19 уровень, Минск
13 февраля, 10:40
В while(true) засовываем try catch и ловим ошибку при парсе пустой строки, а в catch выходим из цикла ну и внимательно вывести на экран требуемое + учтите, что нет строгой последовательности в HashMap, главное чтобы вывод был число пробел стринг.
Badger13 уровень, Киев
вторник, 09:34
Да, это можно сделать, но строить логику на try catch далеко не лучшая идея. Исключения созданы для исключительных (нештатных) ситуаций. Тем более когда задача решается более тривиальными методами, которые для этого и созданы, isEmpty() например для выявления пустой строки.
Asad Vice19 уровень, Минск
вторник, 09:47
Согласен! В ближайших уровнях ну прям очень хотят, что бы в catch была реализована логика метода. Вот что пишет оракл: Exception handlers can do more than just print error messages or halt the program. They can do error recovery, prompt the user to make a decision, or propagate the error up to a higher-level handler using chained exceptions, as described in the Chained Exceptions section. Прямого запрета нет.
Badger13 уровень, Киев
вторник, 10:00
Мне кажется здесь имеется ввиду реализация уже в catch, а не строить логику как опять же в примере выше про выявление пустой строки на try catch. Хз, может я не прав.
Vladislav Kuzmenko11 уровень, Санкт-Петербург
вчера, 20:02
while (true) { String value = reader.readLine(); if (value.equals("")) break; String key = reader.readLine(); map.put(key, value); }
Anton Domashevskiy11 уровень, Mlawa
10 февраля, 15:32
внимательно нужно осознать условие задачи, код написал робочий за 10 минут, а проверку прошла задача после 12 попытки! "Числа могут повторяться. Строки всегда уникальны." вдумайтесь в это!!!! и правильно расставите места для ID и NAME
Илья 11 уровень, Москва
9 февраля, 18:35
вывод на печать сработал вот так, не пойму, почему...
for (String k : mapa.keySet()){
            System.out.println(mapa.get(k) + " " + k);
zubov.evg15 уровень, Харьков
4 февраля, 10:43
Решил с 4-го раза. Подсказки для таких как я: 1. Внимательно посмотрите что должно быть ключом, а что значением. 2. Не забудьте НЕ ПОТЕРЯТЬ введенное число без строки. 3. Пустая строка тоже хорошо записывается и используется в мапе. 4. Это я еще понял до прохождения валидации и сразу решал с помощью try/catch для ЧИСЛА, чего и вам советую.
Atty17 уровень, Улан-Удэ
1 февраля, 06:12
И всего-то 7 попыток :)
Никита Сычев17 уровень, Санкт-Петербург
28 января, 19:01
HashMap!!!? не Map...
Кирилл Смирнов12 уровень, Рига
31 января, 12:17
Тоже профейлил первую попытку с Map<String, Integer> map = new HashMap<>();
Евгений18 уровень, Москва
21 января, 21:21
да, с try-catch значительно проще
Никита Сычев17 уровень, Санкт-Петербург
28 января, 19:03
Из какой то статьи: catch предназначен именно для отслеживания ошибок и не оптимизируется JAVA машиной и будет работать медленнее. Поэтому его не рекомендуют использовать в логике программы.