Бонусное задание | 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 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 не срабатывает. Исправить ошибку, т.е. все должно работать. :) Ожидаемый результат в произвольном порядк
Комментарии (148)
  • популярные
  • новые
  • старые
Для того, что бы оставить комментарий вы должны авторизоваться
Атари16 уровень, Москва
7 января, 09:18
Для решающих задачу "Создание по образцу": нужно поместить блок if в начале CountUpRunnable, иначе третье условие не сработает.
Атари16 уровень, Москва
2 января, 16:24
Цикл в main во второй задаче мешает решению, удалите его.
Сергей20 уровень, Днепр
12 декабря 2018, 17:12
"Создайте по образцу" валидатор принимает, "IJ" выдает ошибку, на сайте задача не проходит "запуск"...
Сергей20 уровень, Днепр
12 декабря 2018, 15:57
Вопрос касался задачи "Создай по образцу"...
Сергей20 уровень, Днепр
12 декабря 2018, 15:54
Подскажите в чем причина: Thread.sleep() в нити run() не срабатывает, в нити main() работает, убираю sleep() в run(), все работает, пробовал в разных комбинациях.. выше if, ниже, не в цикле, все равно не работает...?
Artem29 уровень
26 декабря 2018, 20:28
Приложи код, описание сложно понять
Andrii Gorshunov26 уровень
5 декабря 2018, 22:04
с задачей: Рекурсивное создание нитей перемудрили. Да на внимательность, но могли бы и не делать ее 3-ей по счету. PS: Результат должен выйти не по порядку. Задача: Поиграем? Валидатор принял код. Однако результат вывода в консоле такой:
Sidorov:Начало игры
Ivanov:Начало игры
Sidorov:Сбор ресурсов
Ivanov:Сбор ресурсов
Sidorov:Рост экономики
Sidorov:Убийство врагов
Sidorov:победитель!
Ivanov:Убийство врагов
Ivanov:проиграл
Petrov:Сбор ресурсов
Petrov:Рост экономики
Petrov:Убийство врагов
Petrov:проиграл
Как видно, стартуют только два объекта и код выполняется как задумано. Однако третий(petrov) начинает создаваться после окончания двух. Почему так? вообще весь их код у меня выполняется в цикле пока while (!OnlineGame.isWinnerFound) { .. }. То есть на старте уже его код должен обрываться, так как флаг уже установлен на true после "Sidorov:победитель!"; Связано ли это с тем, что у меня процессор с 2 ядрами и 4 потоками? Intel 4300M. Задача: Последовательный вывод файлов. Красава вообще. Поменял зачем-то, где-то в середине решения, метод возврата void setFileName на String setFileName. В результате результат задачи был достигнут и минус 1.5 часа потрачено. Вернул обратно и все ок. Хотя валидатор ругался на "Убедись что метод getFileContent возвращает пустую строку, если метод run не запускался." PS: задачу Factory method patter решили 12631 учеников.
Maxim20 уровень, Харьков
8 декабря 2018, 19:44
если Sidorov:победитель!, то остальные участники сразу проигрывают. без прохождения шагов. Sidorov:Начало игры Ivanov:Начало игры Sidorov:Сбор ресурсов Sidorov:Рост экономики Ivanov:Сбор ресурсов Sidorov:Убийство врагов Sidorov:победитель! Petrov:проиграл Ivanov:проиграл Поменяй цикл while на if().
Павел19 уровень, Москва
5 декабря 2018, 13:15
1623 Рекурсивное создание нитей Чините валидатор if,while результат тот же, проходит только if
Andrii Gorshunov26 уровень
5 декабря 2018, 22:05
=) сильно все четко описано. Слова если и пока точно говорят соответственно if и while.
Павел19 уровень, Москва
7 декабря 2018, 13:18
сарказмируете батенька)
Pavlic Morozov (pashok09i)20 уровень, Екатеринбург
8 декабря 2018, 19:29
советую почитать обсуждения, разница есть
Vladimir #117182316 уровень, Москва
6 января, 09:50
В этом и смысл if - нити (и экземпляры GenerateThread) создаются рекурсивно:
private void example() {
if (i < x) {
  example();
}
}
А если использовать while, то все оставшиеся 15 экземпляров будут созданы в цикле первым объектом. Я тоже сначала написал while и не понимал, что не так.
Vladimir #117182316 уровень, Москва
6 января, 09:53
Оставшиеся 14 экземпляров, конечно же.
Bahis35 уровень, Москва
21 ноября 2018, 22:37
Название последней задачи слегка .... провокационное. Особенно после дня в напряжении мозгов и вправду очень хочется отдебажить все и всех.
Alex P31 уровень
6 ноября 2018, 23:23
Why sometimes using Mac OS 10.13.6 when I re-lunching tasks the templates stay in last state (do not update to default). I can't finish some tasks without original source codes. Please Help!
Alex P31 уровень
6 ноября 2018, 23:25
IntelliJ IDEA v. 2018.2.5
5 декабря 2018, 12:24
You should use "Reset current task progress" button. Hotkey is "Ctrl+Alt+R"
Alex P31 уровень
6 декабря 2018, 01:39
Yeah, I figured it out finally. Thank you.
Антон Шумилин20 уровень
28 октября 2018, 07:09
В задаче "Последовательный вывод файлов", в условии требуют вывод с квадратными скобками: [все тело первого файла] а принимают только без скобок: все тело первого файла Я возмущен.
Anonymous #37410529 уровень, Амстердам
8 ноября 2018, 10:37
А если бы было без скобок, то что бы ты вывел в консоль? Вывел бы строку "все тело первого файла", т.к. она была приведена в примере и был бы опять возмущён ? )))