undefined

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

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

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

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

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

undefined
8
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Осваивание статического блока
Cоздадим классы Plane и Helicopter, реализующие интерфейс CanFly, после чего в статическом методе reset класса Solution нужно считать с консоли параметр типа String и если он равен helicopter (plane), то статическому объекту CanFly result присвоить объект класса Helicopter (Plane). В статическом блоке инициализировать CanFly result вызвав метод reset.
undefined
8
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Template pattern
Создадим алгоритм работы баристы в классе DrinkMaker. Он будет выбирать подходящую чашку, класть ингредиенты и заливать жидкостью. Также создадим узкоспециализированные алгоритмы для чая и латте, унаследовав их от DrinkMaker.
undefined
8
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Факториал
На планете Линейный Хаос поиском факториала двузначных чисел на их планете принято занимать младенцев. Ну а мы подойдём по-взрослому, по-программистски, и напишем метод, вычисляющий факториал вплоть до введённого числа.
undefined
16
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Разные методы для разных типов
Итак, полиморфизм. Вы о нём ещё не забыли? Тогда решаем следующую задачку: считываем с консоли данные, пока не будет введено слово "exit". Для каждого значения, кроме "exit", вызываем метод print, какой именно принт — зависит от значения. Например, если значение содержит точку, то вызываем print для Double, а если это число от 0 до 128 — то для short.
undefined
4
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Тренировка мозга
Найдите логическую ошибку: утка (Duck) должна корректно реализовывать интерфейс CanMove. Исправьте ошибку так, чтобы получить правильный результат.
undefined
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.
undefined
16
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Закрепляем паттерн Singleton
Разберёмся с паттерном Singleton на примере светила и планет солнечной системы. Для начала займитесь поиском и найдите где-нибудь в интернете пример "ленивой" реализации Singleton и создайте по образу и подобию три Singleton-класса: Sun, Moon и Earth. Затем реализуйите в них интерфейс Planet. И проделайте ещё парочку операций.
undefined
8
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Перегрузка конструкторов
В этой задаче нам предстоит создать класс Solution и его потомка SubSolution, а для этого потомка — создать конструкторы и исправить их модификаторы доступа так, чтобы получить три конструктора с разными модификаторами (кроме private).
undefined
8
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Порядок загрузки переменных
Итак, полезная задачка на отладку. У вас есть код, в котором нужно разобраться: узнайте, что и в какой последовательности инициализируется. Для этого можно использовать отладчик в IntelliJ IDEA и его брейкпоинты. Затем исправьте порядок инициализации так, чтобы получить определённый результат.
undefined
8
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Файл в статическом блоке
Инициализируйте переменную Statics.FILE_NAME полным путем к файлу с данными, который содержит несколько строк. После этого в статическом блоке считайте из файла с именем Statics.FILE_NAME все строки, и добавьте их по отдельности в List lines.

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

undefined
8
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Дебаг, дебаг, и еще раз дебаг
Снова и снова мы ищем чужие ошибки и исправляем их... Такова наша программистская доля. Наша программа снова выводит что-то не то: закралась ошибка (всего одна!). Найти и обезвредить! Для этого воспользуйтесь дебаггером IntelliJ IDEA.
undefined
16
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
Парсер реквестов
Считайте с консоли URL-ссылку. Затем выведите на экран через пробел список всех параметров (Параметры идут после ? и разделяются &, например, lvl=15). URL содержит минимум 1 параметр. Если присутствует параметр obj, то передайте его значение в нужный метод alert.
undefined
8
Задача
Java Core,  5 уровень,  12 лекция
Недоступна
ООП. Hryvnia — тоже деньги
Исправьте класс Hryvnia так, чтоб избежать возникновения ошибки StackOverflowError. При этом, как ни парадоксально, Hryvnia должна быть наследницей класса Money и в этом классе должен быть реализован метод getAmount.
Комментарии (349)
Чтобы просмотреть все комментарии или оставить свой,
перейдите в полную версию
Илья 16 уровень, Санкт-Петербург
12 мая 2021
Дебаг, дебаг и ещё раз дебаг пока не понял. Не понял, где правильно поставить breakpoint, чтобы остановиться достаточно рано. Видимо уйду в чтение описания работы дебагера.
gonkon 18 уровень, Москва
8 мая 2021
Всем привет! В какой-то лекции объяснялось решение для задачи ДЕБАГ, ДЕБАГ, ЕЩЕ ДЕБАГ? Почему изменение модификатора доступа метода заставляет вызывать именно его?
Nadya 16 уровень
3 мая 2021
а как дебажить программу с телефона?🤔
Людмила 17 уровень, Харьков
30 апреля 2021
Полезно почитать про BigInteger и BigDecimal
Роман Зверев 29 уровень, Днепр
23 апреля 2021
Задача "ООП. Hryvnia — тоже деньги" в 2021 году звучит конечно комично, учитывая экономическую ситуацию 😂 И на уровень Medium вообще не тянет 😑
Roman Grand 28 уровень, Новосибирск
6 марта 2021
порядок задач перепутан местами, те, которые помечены звездой, должны быть в конце, в блоке "Для дедушек", а не как здесь - в начале.
Максим 25 уровень
4 марта 2021
"Абстрактный метод не может иметь тела (не может содержать реализацию). файл com/javarush/task/task15/task1530/DrinkMaker.java, строка 11, позиция 213" - выдает такую ошибку.. А в Задании написано: "2. В классе DrinkMaker создать и реализовать метод void makeDrink(), который готовит напиток в такой последовательности: выбирает чашку, кладет ингредиенты, заливает жидкость." "Требования: Класс DrinkMaker должен быть создан в отдельном файле и быть абстрактным." даже в правильном ответе посмотрел.. там также
Ilia lenskii 16 уровень, Санкт-Петербург
3 февраля 2021
Пропускаю однотипные задания где надо "создать файл и класс", "считать с консоли", "создать 100500 перегрузок"... Надоела эта рутина. Сколько это будет продолжается.
Павел 26 уровень
20 января 2021
для факториала лучше использовать java.math.BigInteger; >============< в задаче для перегрузки методов print() удобна такая конструкция: if (num > 0 && num < Short.MAX_VALUE) print((short) num); >============< про синглтон https://habr.com/ru/post/129494/ >============<
Oleksii Naumenko 35 уровень, Харьков
14 января 2021
Парадоксально, но рубль - тоже деньги!