Экономим время

  • 16
  • Недоступна
1. Создай Producer и Consumer (См. комментарий к методу main). 2. Создай методы toString, equals и hashCode в классе ShareItem. Для этого в IntelliJ IDEA в теле класса ShareItem выполни: 2.1. Alt+Insert -> toString() -> Enter. 2.2. Alt+Insert -> equals() and hashCode() -> click all 'Next'-s. 2.3. Реал
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (52)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Maxim31 уровень, Москва
8 октября, 14:32
Не понял куда вставить interrupt и в итоге забыл про него. Задача не завершалась, но выводилась корректно. Валера принял. Теперь куда надо было вставить interrupt без Валеры так и не узнаю. Задача сдана....
Павел Минеев37 уровень, Челябинск
8 октября, 08:07
Просто следовал инструкции, с выводом совпало. Смысла задачи не понял.
Даниил39 уровень
27 июня, 16:04
С первого раза, хоть с выводом не совпадало (в начале успевало взять на один елемент меньше, но дальше логика сохранялась).
Володимир Штаба38 уровень, Киев
12 июня, 22:25
4 попытки из-за сраных пробелов и забыл про методы в классе ShareItem которые очень легко делает сама IDE
Антон31 уровень, Нижний Новгород
26 апреля, 10:28
Со второй попытки, т.к. Валя не захотел принять String name = String.format("ShareItem-%d", i); System.out.format("Элемент '%s' добавлен\n", i); Вместо этого пришлось писать System.out.format("Элемент 'ShareItem-%d' добавлен\n", i); хотя переменную name далее использую для передачи в конструктор при создании очередного SharedItem
Constantine34 уровень, Москва
16 апреля, 11:20
2.3. Реализацию методов toString(), equals() и hashCode() оставь такими, какими их сгенерировала IntelliJ IDEA. Пришлось переписывать toString.
Алексей41 уровень
2 апреля, 11:48
WARNING!!! System.out.printf() это не System.out.format()... Я не единственный кто попался, на это, так что, оставлю это тут... Да, и System.out.format("Элемент '%s' добавлен%n", shareItem.getDescription()) - это не то что надо. ShareItem-%d - вот нужный зверь!
Пётр41 уровень, Москва
23 апреля, 06:46
скушало и так:
System.out.format("Элемент 'ShareItem-"+ i+" добавлен\n");
даже без второго апострофа после i
S3R3N1TY37 уровень, Санкт-Петербург
29 марта, 22:38
Не знаю, решил с первой, прервал потоки и вышел в catch через return; Понравится System.out.format. Условие в задаче написано немного невпопад, чтобы вывод соответствовал нужно самому правильно расположить, например Sleep и вывод System.out.format("Consumer в ожидании!%n") у меня осуществляется в цикле, после каждого нового добавления в очередь.
Пётр41 уровень, Москва
23 апреля, 06:49
Интеррапт и так выкинет в run Interrupted exception, его не надо специально отлавливать и делать ретурны, просто interrupted зависимые блоки обернуть в try-catch
try {
            Thread.sleep(450);
            while(true) {
                queue.take();
                System.out.format("Processing item.toString()\n");}

            } catch (InterruptedException e){
                //e.printStackTrace();
            }
Vitaly Khan37 уровень
26 марта, 12:13
а меня в ступор ввело условие Перед каждым добавлением выведи фразу "Элемент 'ShareItem-N' добавлен". ведь факт, что элемент добавлен, наступает только после окончания работы метода offer()! offer() на то и придуман, что добавление может не произойти и никакого exception не выбросится.
Алексей41 уровень, Москва
7 февраля, 06:51
Валидатор слишком придирчив к формату вывода информации. Даже если использован System.out.format, даже если результат такой же как в output.txt.