Бонусное задание | 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
Комментарии (392)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
🦔 Виктор админ Java Android канала в telegram @LetsCodeItExpert
18 января, 10:21
Фуф, около недели буксовал на 16 уровне. Сказывается, что в прочитанной Head First Java тема нитей была слабо раскрыта и к этому моменту книги мозг уже расплавился, не воспринимая новую информацию. Сборник задач добротный, хорошее закрепление пройденного (и не пройдённого ; ) материла. Давненько я не видел столько ненависти к валидатору и ТЗ в обсуждениях задач. Даже не знаю, валидатор, конечно, курильщика, но к этому моменту уже наловчился решать задачи в «его стиле», более-менее адаптировался к нюансам ДжаваРаша. Всё получится! p.s. Заметил, что валидатор гораздо дольше проверяет задачи с нитями, вот что реально напрягает, у всех так? -- tlgrm: @LetsCodeIt | @SefoNotasi
Maksim 16 уровень, Пермь
вчера, 12:05
Во многих задачах используется Thread.sleep(). Вот и ждем сидим, когда ответит сервер и пройдет несколько секунд.
Veygard 19 уровень, Москва
4 января, 19:44
В задаче "Рекурсивное создание нитей"
"Пока количество созданных нитей меньше Solution.count метод run должен:"
Читать как:
"Если количество созданных нитей меньше Solution.count метод run должен:"
while валидатор не пропустит. В задаче "Кто первый встал - того и тапки" Считывание строчек заключить в :
while (reader.ready())
Иначе валидатор не пропустит. Хотя конкретно тут эта проверка не работает, т.к. нити останавливаются, когда потоки уже ждут введения строчек (и вываливаются в эксепшен). Поднимите вверх плз (лично я с этим намучился).
Dmitry Gebeydullov дибилопер
3 января, 15:35
Надеюсь, когда-нибудь Амиго прокачает такой уровень, что сможет вывалить пару эксепшенов этому капитану.
M10beretta 20 уровень, Минск
29 декабря 2020, 20:34
Информация о многопоточности: Thread'ом Java не испортишь: Часть I — потоки В конце статьи другие полезные ссылки.
Александр 19 уровень, Мариинский Посад
18 декабря 2020, 18:36
Понраивлась задачка с игроками, приятно было решать.
Владимир Коземаслов Жук в Муравейнике
8 декабря 2020, 17:11
Наконец я прошел этот потный уровень, мое уважение всем кто это сделал.
endurance2296 19 уровень, Киев
13 декабря 2020, 20:45
плюсую) уроверь реально потный))
Павел 24 уровень, Минск
1 декабря 2020, 10:41
Это было круто. Отличный набор задач, спасибо!
Евгений 23 уровень, Тамбов
1 декабря 2020, 09:58
Объясните пожалуйста, как и зачем использовать цикл while с пустым телом(в некоторых из этих задач он использовался)?
Павел 24 уровень, Минск
1 декабря 2020, 10:40
Чтобы нить выполнялась бесконечно. Ваш Кэп 🤡
Бабочка Алушка 17 уровень, Новокузнецк
24 декабря 2020, 08:46
while()
{}
У цикла нет условия для остановки. Соответственно он и будет работать бесконечно. Остановить такой цикл может наличие в его области
break;
SerB 27 уровень, Екатеринбург
26 ноября 2020, 08:55
В задаче про тапки как сделать так, чтобы при прерывании нити ридер закрылся сразу? Кто-нибудь вообще так смог сделать?
Timas 19 уровень, Алматы
26 ноября 2020, 13:04
Воспользуйтесь методом isAlive() который проверяет если дословно жив ли поток, если нет то .close()
AhanSere 17 уровень
26 ноября 2020, 23:11
можно проверить его методом reader.ready() перед чтением
Айбек 20 уровень, Бишкек
1 января, 17:11
думаю при прерывании выкинет исключение Itterupt Exception. Может попробовать прописать закрытие в catch блоке
Help4engineer 23 уровень, Львов
24 ноября 2020, 22:16
Может кто-нибудь мне обьяснить, почему задачу нельзя было решить наследовав Thread классу Solution? Создать нити на основе обьектов класса Solution. валидатор не принимал некоторые пункты