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

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

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

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

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

9
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Thread.currentThread - всегда возвращает текущую нить
1. В методе printMsg присвой переменной t текущую нить. 2. В методе printMsg после всех действий поставь задержку в 1 миллисекунду.
9
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Последовательные выполнения нитей
1. В методе run после всех действий поставь задержку в 10 миллисекунд. Выведи "Нить прервана", если нить будет прервана. 2. Сделай так, чтобы все нити выполнялись последовательно: сначала для нити №1 отсчет с COUNT до 1, потом для нити №2 с COUNT до 1 и т.д. Пример: #1: 4 #1: 3 ... #1: 1 #2: 4 ...
9
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Рекурсивное создание нитей
1. Измени класс GenerateThread так, чтобы он стал нитью. 2. Создай конструктор GenerateThread, который должен: 2.1. Вызвать конструктор суперкласса с параметром String - номером созданной нити. Используй createdThreadCount. 2.2. Запустить текущую нить. 2.3. Номер первой нити должен начинается с 1.
9
Задача
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
9
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Взаимная блокировка
1. Разберись, как работает программа. 2. Не меняя классы T1 и T2 сделай так, чтобы их нити завершились, не обязательно успешно. 3. Метод sleep не использовать.
9
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Создание по образцу
Разберись, как работает программа. По образу и подобию CountdownRunnable создай нить CountUpRunnable, которая выводит значения в нормальном порядке - от 1 до number.
9
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Поиграем?
Три человека играют в игру. Каждый игрок(Gamer) характеризуется двумя параметрами: фамилией(name) и количеством действий в секунду (rating). Нужно вывести в консоль ход игры и определить победителя и проигравших. Итак... 1. Разберись, что делает программа. 1.1. List<String> steps хранит последовател
9
Задача
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 вывести результат для кажд
9
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Последовательный вывод файлов
1. Разберись, что делает программа. 2. В статическом блоке считай 2 имени файла firstFileName и secondFileName. 3. Внутри класса Solution создай нить public static ReadFileThread, которая реализует интерфейс ReadFileInterface (Подумай, что больше подходит - Thread или Runnable). 3.1. Метод setFileNa

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

9
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Factory method pattern
1. Внимательно посмотри, какие классы у тебя есть. 2. В отдельных файлах в пакете common создай классы JpgReader, PngReader, BmpReader, которые реализуют интерфейс ImageReader. 3. В отдельном файле в основном пакете создай класс ImageReaderFactory с одним методом. 3.1. Подумай, как он должен называт
9
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Клубок
1. Создай 5 различных своих нитей c отличным от Thread типом: 1.1. Нить 1 должна бесконечно выполняться; 1.2. Нить 2 должна выводить "InterruptedException" при возникновении исключения InterruptedException; 1.3. Нить 3 должна каждые полсекунды выводить "Ура"; 1.4. Нить 4 должна реализовать интерфейс
9
Задача
Java Core,  6 уровень,  13 лекция
Недоступна
Отдебажим все на свете
Разобраться, что делает программа. Почитать про UncaughtExceptionHandler - это важно. Еще раз внимательно посмотреть программу. Разобраться - продебажить - почему наш OurUncaughtExceptionHandler не срабатывает. Исправить ошибку, т.е. все должно работать. :) Ожидаемый результат в произвольном порядк
Комментарии (179)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
stefan17 уровень, Санкт-Петербург
вчера, 16:03
Про клубок. про третью нить. вот скажите, каждый полсекунды, это первый вывод через 500 мс или первый вывод при старте?
Бейбарыс17 уровень, Санкт-Петербург
четверг, 11:22
Решил половину задач,смотря в комментарии)))) ну оч нелегкая тема:D
stoletovdk19 уровень, Санкт-Петербург
19 июля, 10:46
Задача 1624 решается по идее комментированием одной строки в методе run класса MyThread, //Solution.sleep(); Но валидатор так не пускает Поправьте, если не прав
account deleted22 уровень, Россия
13 июля, 19:23
Про тапки тут вкусное: https://www.youtube.com/watch?v=pHl6m4CIKj4&list=LLA2DSlK1F8A9ii8-tNZZwsQ&index=2&t=422s
Olga Enaldieva18 уровень
9 июля, 16:27
Этот уровень показался мне совершенно непонятным. Пришлось штурмовать интернет в поисках нужной информации (особенно Habr). Кстати, пока рылся, нашел вариацию цикла while. В нем используется ключевое слово do, после которого расписывается тело цикла. А после тела цикла уже пишется while(<условие>).
Максим17 уровень, Санкт-Петербург
5 августа, 13:20
Это уже было в лекциях ранее...
Самуил Олегович25 уровень, Киев
13 июня, 15:31
OOOO - запасы ЧМ перевалило через 1К!!! ИТОГО - 1020 ЧМ
Valery22 уровень
28 мая, 17:14
спасибо комментам, без них 16 уровень не закончила бы. Если только с 22 какого-нибудь возвращаться наверно) в общем жесть пошла, ребята)
АртемGeek25 уровень, Москва
31 мая, 13:32
Это только разминка, жесть начнется с 19 уровня) Попомните мои слова.
Pavel Ivan22 уровень, Минск
5 мая, 10:35
про тапки здесь почитайте очень полезно https://ru.stackoverflow.com/questions/732637/java-%D0%9A%D0%B0%D0%BA-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-bufferedreader-%D0%BE%D0%B4%D0%BD%D0%BE%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE-%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%B8%D0%BC%D0%B8-%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B0
Pavel Ivan22 уровень, Минск
4 мая, 17:57
не заморачивайтесь особо, разрабы путают условия: чтобы подольше нас задержать на сервисе, потому-что валидатор написать на все случаи жизни сложно и последнее потому-что хотят чтобы мы получше запомнили материал. Вот такая последовательность приоритетов, а теперь поставьте себя на их место и подумайте какие были бы у вас приоритеты!?))
Nubas19 уровень, Новосибирск
5 мая, 22:27
валидатор написать на все случаи жизни сложно программировать вообще сложно, по крайней мере для большинства... кроме первой причины другие вряд ли, это же не некоммерческий фонд повышения образованности)
Михаил36 уровень
9 апреля, 19:37
Задача поиграем, валидатор принял код, выводящий вот это:
Ivanov:Начало игры
Petrov:Начало игры
Sidorov:Начало игры
Sidorov:Сбор ресурсов
Ivanov:Сбор ресурсов
Sidorov:Рост экономики
Sidorov:Убийство врагов
Ivanov:Рост экономики
Sidorov:победитель!
Petrov:Сбор ресурсов
Sidorov:проиграл
Ivanov:Убийство врагов
Ivanov:победитель!
Ivanov:проиграл
Petrov:Рост экономики
Petrov:Убийство врагов
Petrov:победитель!
Petrov:проиграл
Но не принял код, выводящий вот это:
Sidorov:Начало игры
Ivanov:Начало игры
Petrov:Начало игры
Sidorov:Сбор ресурсов
Ivanov:Сбор ресурсов
Sidorov:Рост экономики
Sidorov:Убийство врагов
Ivanov:Рост экономики
Sidorov:победитель!
Ivanov:проиграл
Petrov:проиграл
На первой картинке была проверка в начале всей программы и пропускала строку с выводом неправильного победителя (я просто случайно запустил проверку), а во втором была проверка на существование победителя и выход из функции, при правдивости условия, в цикле, который идет по списку и который, очевидно, выводит правильно. Смотрите, валидатор любит щекотать нервы.