Бонусное задание | 13 лекция | 6 уровень

6 уровень, 13 лекция
Открыта

— Здорово, боец!

— Здравия желаю, товарищ капитан!

— У меня для тебя шикарная новость. Вот тебе задания для закрепления полученных навыков. Выполняй их каждый день, и твои навыки будут расти с неимоверной скоростью. Они специально разработаны для выполнения их в Intellij IDEA.

18
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Factory method pattern
1. Внимательно посмотри, какие классы у тебя есть. 2. В отдельных файлах в пакете common создай классы JpgReader, PngReader, BmpReader, которые реализуют интерфейс ImageReader. 3. В отдельном файле в основном пакете создай класс ImageReaderFactory с одним методом. 3.1. Подумай, как он должен называт
18
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Клубок
1. Создай 5 различных своих нитей c отличным от Thread типом: 1.1. Нить 1 должна бесконечно выполняться; 1.2. Нить 2 должна выводить "InterruptedException" при возникновении исключения InterruptedException; 1.3. Нить 3 должна каждые полсекунды выводить "Ура"; 1.4. Нить 4 должна реализовать интерфейс
18
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Отдебажим все на свете
Разобраться, что делает программа. Почитать про UncaughtExceptionHandler - это важно. Еще раз внимательно посмотреть программу. Разобраться - продебажить - почему наш OurUncaughtExceptionHandler не срабатывает. Исправить ошибку, т.е. все должно работать. :) Ожидаемый результат в произвольном порядк
4
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Thread.currentThread - всегда возвращает текущую нить
1. В методе printMsg присвой переменной t текущую нить. 2. В методе printMsg после всех действий поставь задержку в 1 миллисекунду.
4
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Последовательные выполнения нитей Ӏ Java Core: 6 уровень, 13 лекция
1. В методе run после всех действий поставь задержку в 10 миллисекунд. Выведи "Нить прервана", если нить будет прервана. 2. Сделай так, чтобы все нити выполнялись последовательно: сначала для нити №1 отсчет с COUNT до 1, потом для нити №2 с COUNT до 1 и т.д. Пример: #1: 4 #1: 3 ... #1: 1 #2: 4 ...
18
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Рекурсивное создание нитей
1. Измени класс GenerateThread так, чтобы он стал нитью. 2. Создай конструктор GenerateThread, который должен: 2.1. Вызвать конструктор суперкласса с параметром String - номером созданной нити. Используй createdThreadCount. 2.2. Запустить текущую нить. 2.3. Номер первой нити должен начинается с 1.
4
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Последовательные выполнения нитей Ӏ Java Core: 6 уровень, 13 лекция
1. Разберись, что делает программа. 2. Сделай так, чтоб программа сначала выводила результат нити, а когда нить завершится - продолжила метод main. 3. Пример выходных данных: inside MyThread 0 inside MyThread 1 ... inside MyThread 9 inside main 0 inside main 1 ... inside main 9
4
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Взаимная блокировка
1. Разберись, как работает программа. 2. Не меняя классы T1 и T2 сделай так, чтобы их нити завершились, не обязательно успешно. 3. Метод sleep не использовать.
9
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Создание по образцу
Разберись, как работает программа. По образу и подобию CountdownRunnable создай нить CountUpRunnable, которая выводит значения в нормальном порядке - от 1 до number.
18
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Поиграем?
Три человека играют в игру. Каждый игрок(Gamer) характеризуется двумя параметрами: фамилией(name) и количеством действий в секунду (rating). Нужно вывести в консоль ход игры и определить победителя и проигравших. Итак... 1. Разберись, что делает программа. 1.1. List<String> steps хранит последовател

— Те задания были для духов. Для дедушек я добавил бонусные задания повышенной сложности. Только для старослужащих.

18
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Кто первый встал - того и тапки
1. Разберись, что делает программа. 1.1. Каждая нить должна читать с консоли слова. Используй готовый static BufferedReader reader. 1.2. Используй AtomicInteger readStringCount, чтобы посчитать, сколько слов уже считано с консоли всеми нитями. 2. Реализуй логику метода run: 2.1. Пока нить не прерва
9
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Только по-очереди!
1. В классе Solution создать public static класс нити Read3Strings унаследовавшись от Thread. 2. В методе run реализовать чтение с консоли трех строк. 3. Три подряд введенных строки должны считываться в одной нити и объединяться в одну строку через пробел. 4. В методе main вывести результат для кажд
18
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Последовательный вывод файлов
1. Разберись, что делает программа. 2. В статическом блоке считай 2 имени файла firstFileName и secondFileName. 3. Внутри класса Solution создай нить public static ReadFileThread, которая реализует интерфейс ReadFileInterface (Подумай, что больше подходит - Thread или Runnable). 3.1. Метод setFileNa
Комментарии (410)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Евгений Хлебников
20 уровень, Вунг Тау, Вьетнам
28 февраля, 06:29
Про UncaughtExceptionHandler: UncaughtExceptionHandler
Endrew
20 уровень, Нижний Новгород
26 февраля, 09:27
Даже если я знаю правильное решение задачи, я все равно специально делаю 1000 неправильных попыток, чтобы немного увеличить среднее число попыток для следующих людей и поднять им самооценку.
Aleksei
35 уровень
Expert
27 февраля, 23:03
Самооценку поднимает верно решенная задача. А количество попыток - это такая чепуха, которая абсолютно ни на что не влияет. Один пользователь может подсмотреть правильное решение и сдать задачу с первого раза. А другой пользователь может просидеть над задачей два дня, перечитать кучу документации, усвоить новые темы, сделать 50 попыток, но решить ее самостоятельно. Как думаете, какой из пользователей приблизится к цели стать разработчиком, а какой отдалится от этой цели?
Артём Назаров Тостер в mail.ru
8 марта, 12:17
Тот который загуглил решение и списал его со стековерфлоу?
ric ric
19 уровень
16 марта, 13:12
уверен Эндрю шутил, а не говорил всерьез
Руслан
16 уровень
21 марта, 16:01
А что делать когда смотришь на условие задачи и Смотришь на исходные классы и понимаешь что ничего не понимаешь""?
Jewgienij
17 уровень, Wrocław
1 апреля, 06:47
Бежать! 🙂
Руслан
16 уровень
1 апреля, 13:46
Если я устаю, я вспоминаю что когда остановлюсь легче не станет.
Руслан
16 уровень
1 апреля, 13:47
Разве только веред.
Михаил
18 уровень, Санкт-Петербург
24 февраля, 12:46
В общем-то, я не раз ругался на валидатор и ТЕХ, КТО пишет условия, а также хвалился, что решил ее с 1, 2 и тд раза. Но это для разрядки. Могу сказать, что ломание головы над самыми идиотскими валидаторными заковыками позволяет рассмотреть тему многократно с разных сторон и выработать свое мнение по поводу предмета Core, Threads...
Flexo Bending Unit #3370318
21 февраля, 08:16
Здравия желаю, товарищ Бобров! Тэкс тэкс тэкс, а на сегодня у нас 7 задач из 13 с плашкой "Хард", никогда ещё капитан не был так суров 🤗
Flexo Bending Unit #3370318
21 февраля, 18:28
Ай да Бобров, голова сегодня вскипела, надо признать. Постарался на славу наш вояка Решение задач в этом блоке прошло под девизом:
Разберись, что делает программа
Anonymous #2497433
22 уровень
24 февраля, 08:08
молодец. а я до сих пор не решил их. три дня болею - сегодня отхожу, самочувствие не для боя, но попробуем... разобрался с interrupt, isInterrupted и interrupted?
Flexo Bending Unit #3370318
24 февраля, 08:13
если настолько тяжело, что не мог подойти к компу все три дня, похоже на ковид. тяжёлая болячка, тоже переболел. очень долго восстанавливался, с бронхитом. желаю скорейшего восстановления ⚽ да, разобрался, некоторые задачи прокомментировал, — в которых возникли затыки и долго с ними разбирался. handler особенно тяжко воспринимался, но когда понял, возникло чувство эврики.
Anonymous #2497433
22 уровень
24 февраля, 08:20
спасибо большое)) постараюсь снова тебя догнать 😂😂😂
Павел
22 уровень, Москва
1 февраля, 20:19
В задаче "кто первый встал того и тапки" я долго потел, пытаясь избавиться от следующей проблемы. Всё было прекрасно до вывода результатов, но после программа не останавливалась, можно было ещё вводить строки и через две такие экстра строки вылетало исключение. Валидатор такое решение не пропускал. После долгой мороки я всё же получил правильное решение (нажав кнопку "получить правильное решение" :)), которое валидатор пропустил, хотя я и не понял чем оно принципиально отличается. НО самое главное то, что описанная выше проблема в правильном решении осталась!
Максим Backend Developer
30 января, 20:37
Никогда ещё так не горела **па от валидатора, как в этом блоке задач...
Veygard
22 уровень, Москва
4 января, 19:44
В задаче "Рекурсивное создание нитей"
"Пока количество созданных нитей меньше Solution.count метод run должен:"
Читать как:
"Если количество созданных нитей меньше Solution.count метод run должен:"
while валидатор не пропустит. В задаче "Кто первый встал - того и тапки" Считывание строчек заключить в :
while (reader.ready())
Иначе валидатор не пропустит. Хотя конкретно тут эта проверка не работает, т.к. нити останавливаются, когда потоки уже ждут введения строчек (и вываливаются в эксепшен). Поднимите вверх плз (лично я с этим намучился).
Alexander Madyshev System Engineer в ВТБ
26 января, 14:06
Так как у нас несколько экземпляров класса, унаследованного от потока (Thread), логичнее использовать:
while (!Thread.currentThread().isInterrupted())
Veygard
22 уровень, Москва
26 января, 14:50
public void run() {
    try{
        while (!isInterrupted()){
            while (reader.ready()){
                result.add(reader.readLine());
                readStringCount.incrementAndGet();
            }
        }

    }catch (Exception e){}
}
У меня без while (reader.ready()) валидатор не принял задачу
Dmitry Gebeydullov дибилопер
3 января, 15:35
Надеюсь, когда-нибудь Амиго прокачает такой уровень, что сможет вывалить пару эксепшенов этому капитану.
M10beretta
24 уровень, Минск
29 декабря 2020, 20:34
Информация о многопоточности: Thread'ом Java не испортишь: Часть I — потоки В конце статьи другие полезные ссылки.
Александр
19 уровень, Мариинский Посад
18 декабря 2020, 18:36
Понраивлась задачка с игроками, приятно было решать.