Бонусное задание | 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 лекция
Недоступна
Факториал
На планете Линейный Хаос поиском факториала двузначных чисел на их планете принято занимать младенцев. Ну а мы подойдём по-взрослому, по-программистски, и напишем метод, вычисляющий факториал вплоть до введённого числа.
Комментарии (102)
  • популярные
  • новые
  • старые
Для того, что бы оставить комментарий вы должны авторизоваться
John Doe16 уровень, Одесса
воскресенье, 22:54
Про гривну чет обидно было. Она примерно в два с половиной раза дороже родной валюты автора, по текущему курсу.
John Doe16 уровень, Одесса
воскресенье, 21:08
Файл в статическом блоке Тренировка на внимательность: Statics.FILE_NAME находится в отдельном классе пакета, Statics.
Alex P23 уровень
2 ноября, 16:23
I made the Factorial program using multithreading but the result of 10 000 000! is so big number that it hasn't enough space in IDEA console. I gonna try to save the data into a file. The calculation in total took 3.5h on hard overclocked 7600K under Mac OS. Question, can we use CUDA under java in theory? or it's only C++?
DancingShaman20 уровень
18 октября, 23:42
Всё решил, но вот парсерреквестов нихрена не решил, буду изучать регулярные выражения, потом вернусь.
Filip Zhyvotun17 уровень, Киев
17 октября, 15:00
Несоответствие условия и валидации Задача: Осваивание статического блока В валидации требовался интерфейс CanFly, а в условии указан Flyable
Артур22 уровень, Москва
23 сентября, 11:40
В задаче /* Порядок загрузки переменных */ есть блок static { System.out.println("Static block"); } и static { init(); } Именно в таком порядке но почему блок init() первый отрабатывает? Разве статик блоки не отрабатывают в порядке том котором они описаны?
Евгений16 уровень, Санкт-Петербург
3 сентября, 15:39
а вот и первый раз, когда я действительно не осилил задачу, даже с гуглом, и пришлось смотреть в ответы :( Задача "Дебаг, дебаг, и еще раз дебаг", вот никогда бы не догадался, что она так решается. Чего только ни мудрил..
Igor Utkin22 уровень, Санкт-Петербург
4 сентября, 14:44
там такой был тонкий момент, в момент дебага появляется вопрос, почему при построчном прохождении родительского конструктора, после вызова super в конструкторе дочернего класса, вызвался метод дочернего класса, а не родительского, и получилось что степень доступности метода в родительском классе меняла это.
Евгений16 уровень, Санкт-Петербург
4 сентября, 15:56
на дебаге я обратил на это внимание, но как заставить вызываться метод родительского класса - так и не догадался. Только из ответов понял.
Михаил29 уровень, Москва
2 сентября, 17:48
Наконец-то почти все задачки уже интересные и заставляют подзадуматься. Печален факт, что с начала 15-го уровня до конца дошло на 2000 учеников меньше... (снижение с 16000 до меньше 14000). И все меньше свежих комментов, Ближайший 10 дней назад :(
Евгений16 уровень, Санкт-Петербург
3 сентября, 12:17
почему этот факт печален? чем больше народу отсеивается, тем ниже конкуренция на рынке при трудоустройстве :)
Михаил29 уровень, Москва
3 сентября, 15:49
Количество, не есть качество. Потому не боюсь конкуренции ;)
Евгений16 уровень, Санкт-Петербург
4 сентября, 11:09
но ведь мы же считаем, что все, кто прошел Javarush - станут качественными программистами, не так ли? :) если бы так не считали, не сидели бы здесь, верно?
Роман Декарт21 уровень
21 августа, 05:13
Когда решил не сдаваться и написать функцию факториала без BigInt: https://vk.com/@dekapt-funkciya-opredeleniya-faktoriala-chisla
Wasiliy20 уровень
24 сентября, 10:24
Однако
Yakobs Zingelgofer24 уровень
26 октября, 10:37
наркоман
Alex P23 уровень
1 ноября, 04:07
Ohhh! =))))))))) Funny!
Vladimir21 уровень, Москва
10 августа, 14:55
Даже обидно. Написал красивое решение в Парсер реквестов через HashMap, а только потом увидел, что надо выводить по порядку :(
Khabibullaev17 уровень
24 октября, 21:43
Можно было исправить на LinkedHashMap