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

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

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

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

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

8
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Разные методы для разных типов
Итак, полиморфизм. Вы о нём ещё не забыли? Тогда решаем следующую задачку: считываем с консоли данные, пока не будет введено слово "exit". Для каждого значения, кроме "exit", вызываем метод print, какой именно принт — зависит от значения. Например, если значение содержит точку, то вызываем print для Double, а если это число от 0 до 128 — то для short.
8
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Тренировка мозга
Найдите логическую ошибку: утка (Duck) должна корректно реализовывать интерфейс CanMove. Исправьте ошибку так, чтобы получить правильный результат.
8
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
ООП. Перегрузка
Перегрузите метод info(Object s) в классе Tree дважды, чтобы получилось 3 метода info(Object s), info(Number s), info(String s). После этого разберитесь с методом info(Object s) и создайте функциональность новых методов по аналогии. Например, для метода info(Number s) результат может быть таким: «Дерево № 123 , метод Number, параметр Short.
8
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Закрепляем паттерн Singleton
Разберёмся с паттерном Singleton на примере светила и планет солнечной системы. Для начала займитесь поиском и найдите где-нибудь в интернете пример "ленивой" реализации Singleton и создайте по образу и подобию три Singleton-класса: Sun, Moon и Earth. Затем реализуйите в них интерфейс Planet. И проделайте ещё парочку операций.
8
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Перегрузка конструкторов
В этой задаче нам предстоит создать класс Solution и его потомка SubSolution, а для этого потомка — создать конструкторы и исправить их модификаторы доступа так, чтобы получить три конструктора с разными модификаторами (кроме private).
8
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Порядок загрузки переменных
Итак, полезная задачка на отладку. У вас есть код, в котором нужно разобраться: узнайте, что и в какой последовательности инициализируется. Для этого можно использовать отладчик в IntelliJ IDEA и его брейкпоинты. Затем исправьте порядок инициализации так, чтобы получить определённый результат.
8
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Файл в статическом блоке
Инициализируйте переменную Statics.FILE_NAME полным путем к файлу с данными, который содержит несколько строк. После этого в статическом блоке считайте из файла с именем Statics.FILE_NAME все строки, и добавьте их по отдельности в List lines.
8
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Дебаг, дебаг, и еще раз дебаг
Снова и снова мы ищем чужие ошибки и исправляем их... Такова наша программистская доля. Наша программа снова выводит что-то не то: закралась ошибка (всего одна!). Найти и обезвредить! Для этого воспользуйтесь дебаггером IntelliJ IDEA.
8
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Парсер реквестов
Считайте с консоли URL-ссылку. Затем выведите на экран через пробел список всех параметров (Параметры идут после ? и разделяются &, например, lvl=15). URL содержит минимум 1 параметр. Если присутствует параметр obj, то передайте его значение в нужный метод alert.
8
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
ООП. Hrivna — тоже деньги
Исправьте класс Hrivna так, чтоб избежать возникновения ошибки StackOverflowError. При этом, как ни парадоксально, Hrivna должна быть наследницей класса Money и в этом классе должен быть реализован метод getAmount.

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

8
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Осваивание статического блока
Cоздадим классы Plane и Helicopter, реализующие интерфейс CanFly, после чего в статическом методе reset класса Solution нужно считать с консоли параметр типа String и если он равен helicopter (plane), то статическому объекту CanFly result присвоить объект класса Helicopter (Plane). В статическом блоке инициализировать CanFly result вызвав метод reset.
8
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Template pattern
Создадим алгоритм работы баристы в классе DrinkMaker. Он будет выбирать подходящую чашку, класть ингредиенты и заливать жидкостью. Также создадим узкоспециализированные алгоритмы для чая и латте, унаследовав их от DrinkMaker.
8
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Факториал
На планете Линейный Хаос поиском факториала двузначных чисел на их планете принято занимать младенцев. Ну а мы подойдём по-взрослому, по-программистски, и напишем метод, вычисляющий факториал вплоть до введённого числа.
Комментарии (180)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
вчера, 19:49
Изучайте RegEx для работы со String`ом :) Задача "Парсер реквестов" решается в несколько десятков строк, включая считывание с клавиатуры. Если бы я вручную всё это прописывал, то... чокнулся бы. А так, несколько подобных строк и методов для работы с ними и все готово: "(?<=[\\?\\&]).+?(?=[\\=\\&])"
Сергей Novichok15 уровень, Нижний Новгород
позавчера, 19:55
Ребята, посоветуйте, как с дебаггером разобраться! При пошаговой отладке лезет во все подключенные модули, как это убрать?
Шадияр16 уровень, Шымкент
вчера, 12:29
Ставь breakpoint прямо в строке где public static void main(String[] args) { Потом жми на дебаг. И нажимай на кнопку F7. При каждой нажатии, она будет пошагова показывать алгоритм работы программы.
Артём Уколов17 уровень, Москва
5 октября, 14:09
Это был самый тяжелый и долгий левел :((( 4 дня потратил это жесть... видимо дальше будет жара
GrooveDevelop19 уровень, Керчь
6 октября, 06:59
Последние 2 уровня Java Syntax были для меня гораздо сложннее, чем любой уровень Java Core. Тут как-то все гораздо приятнее идет.
Eugene K16 уровень, Санкт-Петербург
9 октября, 09:57
Но вы то не дошли еще до двух "последних" уровней Java Core)
GrooveDevelop19 уровень, Керчь
9 октября, 10:04
Согласен, но уровни по ООП на данный момент для меня были самые понятные и приятные
Алексей17 уровень, Санкт-Петербург
25 сентября, 14:42
все задачи с 1-ой попытки) кроме Template pattern, там со 2-ой из-за того что вместо pour() написал pure()😂
Александр Дудинский16 уровень, Днепр
23 сентября, 18:23
Какое отношение первая задача имеет к полиморфизму? Там обычная перегрузка методов
Justinian41 уровень, Киев
29 сентября, 01:21
тебя на собесе могут спросить тоже самое :) можешь потренировать ответ )
Александр Дудинский16 уровень, Днепр
30 сентября, 19:26
Полиморфизм - один интерфейс, множественная реализация. Где тут один интерфейс? Или я не правильно понял умные книги?
Justinian41 уровень, Киев
30 сентября, 20:41
Забавно что автор цитаты, слова которой ты цитируешь, считает что перегрузка к полиморфизму имеет отношение :) Книги это хорошо, но это мнение одного человека в конкретном контексте, и еще важно как ты читаешь.
(любой) Полиморфизм (это исключительно) - один интерфейс,
множественная реализация.
или
(в контексте ООП, как один с подвидов более общего термина)
Полиморфизм (можно рассматривать как) - один интерфейс, множественная реализация.
Одна и та же фраза. А прочитать можно совершенно по разному. Единого мнения на этот счет нет, ты имеешь право придерживаться любого мнения, но оно должно быть аргументированным и с учетом существования мнения других умных книжек и людей. Ответ на собесе что перегрузка не имеет никакого отношения к полиморфизму. В таком варианте скорее всего покажет интервьюеру что ты не особо заморачивался с пониманием что такое полиморфизм. Если ты скажешь что выделяют различные виды полиморфизма, назовешь различные виды по разным классфикацием, не обязательно с углублением в функторы и подтипы, и ты считаешь что истинный тру полиморфизм, это параметрический, это да. Твое мнение, какое бы не было примут. Если скажешь "Полиморфизм - один интерфейс, множественная реализация. " тоже мнение примется, поскольку интервьюер по идее поймет что речь за ООП, если захочет проверить твою эрудицию, то уточнит вопрос. И аккуратней читай, лови контекст,если в разделе по ООП, пишут определение полиморфизма, то учитывай этот контекст, что автор говорит за полиморфизм в его ООП понимании
Александр Дудинский16 уровень, Днепр
1 октября, 20:19
спасибо за такой развернутый ответ!
Justinian41 уровень, Киев
1 октября, 20:23
На здоровье, успехов! :)
Алексей16 уровень, Киев
12 сентября, 13:42
А где тут админы? В задаче "Парсер реквестов" не грузится условие:
Alexander Taluevsky17 уровень, Минск
24 сентября, 12:18
лучше его не видеть)) там чернь)
Алексей16 уровень, Киев
25 сентября, 09:49
Та очень даже ничего задача. Гораздо лучше, чем задача "Поиграем" 16го уровня, последний блок. :)
Кирилл20 уровень, Москва
8 сентября, 17:09
Все пишут что задача Парсер реквестов трудная...Ничего подобного,даже я ее решил(а мне меньше 15)с 1 попытки.
Евгений17 уровень
12 сентября, 10:12
Мне меньше 10 , решил с пол попытки
Александр Дудинский16 уровень, Днепр
24 сентября, 19:37
обычно меряются у кого больше, а тут у кого меньше)
Кирилл20 уровень, Москва
25 сентября, 19:50
:D
Artem Boyarshinov19 уровень, Москва
29 сентября, 20:59
Мне меньше пяти, задача сразу была решена.
Евгений Майдуров18 уровень, Новосибирск
3 сентября, 15:38
Капитан не утруждает себя попыткой разнообразить диалоги
Айдар17 уровень, Набережные Челны
29 августа, 10:57
какой смысл в задаче "Дебаг, дебаг, и еще раз дебаг", если решение написано в условии?
Alexander Taluevsky17 уровень, Минск
8 сентября, 12:18
решение написано не в условии, а в требованиях. А туда лучше вовсе не заглядывать до момента, когда валидатор вдруг не примет решение
Руслана18 уровень
27 августа, 21:59
Последние задачи повышенной сложности намного быстрее решила, чем легкие ))) И 16 уровень!