JavaRush /Курсы /Java Core /Бонусное задание | 12 лекция | 5 уровень

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

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

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

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

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

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 лекция
Недоступна
Факториал
На планете Линейный Хаос поиском факториала двузначных чисел на их планете принято занимать младенцев. Ну а мы подойдём по-взрослому, по-программистски, и напишем метод, вычисляющий факториал вплоть до введённого числа.
16
Задача
Java Core, 5 уровень, 12 лекция
Недоступна
Разные методы для разных типов
Итак, полиморфизм. Вы о нём ещё не забыли? Тогда решаем следующую задачку: считываем с консоли данные, пока не будет введено слово "exit". Для каждого значения, кроме "exit", вызываем метод print, какой именно принт — зависит от значения. Например, если значение содержит точку, то вызываем print для Double, а если это число от 0 до 128 — то для short.
4
Задача
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.
16
Задача
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.
16
Задача
Java Core, 5 уровень, 12 лекция
Недоступна
Парсер реквестов
Считайте с консоли URL-ссылку. Затем выведите на экран через пробел список всех параметров (Параметры идут после ? и разделяются &, например, lvl=15). URL содержит минимум 1 параметр. Если присутствует параметр obj, то передайте его значение в нужный метод alert.
8
Задача
Java Core, 5 уровень, 12 лекция
Недоступна
ООП. Hryvnia — тоже деньги
Исправьте класс Hryvnia так, чтоб избежать возникновения ошибки StackOverflowError. При этом, как ни парадоксально, Hryvnia должна быть наследницей класса Money и в этом классе должен быть реализован метод getAmount.
Комментарии (532)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
VadChet Уровень 28
28 мая 2025
В правильном ответе Singleton не закрыт BufferedReader🤔 Или я чего-то не понимаю?
Жуков Богдан Уровень 26
17 июня 2025
Закрыт в блоке static
Олег Сычев Уровень 29
9 мая 2025
09.05.2025 - завершил 25-ый уровень =))
Denzol255 Уровень 26
31 марта 2025
Хочу написать красиво через switch, платформа выдает "Твоя моя не понимать"...

switch (s) {
                case Planet.EARTH -> thePlanet = Earth.getInstance();
                case Planet.MOON -> thePlanet = Moon.getInstance();
                case Planet.SUN -> thePlanet = Sun.getInstance();
                default -> thePlanet = null;
}
Alexander Уровень 41
11 мая 2025
Просто в данном квесте валидатор еще не знает о существовании лямбд. Вот так все работает корректно:

        switch (text) {
            case Planet.SUN: {
                thePlanet = Sun.getInstance();
                break;
            }
            case Planet.MOON: {
                thePlanet = Moon.getInstance();
                break;
            }
            case Planet.EARTH: {
                thePlanet = Earth.getInstance();
                break;
            }
            default: {
                thePlanet = null;
                break;
            }
        }
Denzol255 Уровень 26
10 марта 2025
Ультра гадкая и костыльная задача "Разные методы для разных типов"...
Артём Пъ Уровень 32
27 января 2025
Помнится: Прохожу безмятежно первые уровни Кора от Кепа: Моя реакция - Мне кажется, эти задачи слишком легки для Кора (груз небольшого разочарования)... Прохожу с усилием лекция 4+ уровня Кора от Кепа: Моя реакция - Мне кажется, я встрял!!! Need Help! Сейчас я смог их решить))) И всем желаю успехов в прохождении!!
Antariko Уровень 36
15 января 2025
Синглтон кнш Синглтоном. Сделать то сделал. Полез потом ради любопытства посмотреть "Как же там решили в Правильном решении". Вопрос, а когда мы уже прошли sinhronized? Я что-то пропустил? О.о
VadChet Уровень 28
28 мая 2025
Я написал без sinhronized. Просто:

public static Earth getInstance() {
        if (instance == null) {
            instance = new Earth();
            return instance;
        }
        return instance;
    }
Валидатор пропустил.
Deus Vult Уровень 32
24 декабря 2024
Думал, может альцгеймер, стал смотреть у себя в лекциях конспектировал ли я Singleton. Оказалось, что все-таки нет.
Antariko Уровень 36
15 января 2025
Пару лекций назад мы реализовывали Singleton
menand Уровень 26
18 декабря 2024
Если кто-то не знает что такое сигнлтон - то это не плохой сорт вискарика
Anonymous #2822685 Уровень 33
10 декабря 2024
Лекция про синглтон https://javarush.com/groups/posts/589-patternih-i-singleton--dlja-vsekh-kto-vpervihe-s-nimi-stolknulsja
ВК Уровень 36
8 декабря 2024
Только хотел похвалить задачу на вычисление факториала (хотя теории по BigInteger не было, на него были жирные намёки в виде import java.math.BigDecimal и требования вернуть результат в виде строки. Ну ок, почитал доки по BigInteger, написал решение, работает, правильно. Но валидатору не нравится. А знаете почему? Потому что при аргументе 1 я возвращал "1.0", а валидатор, оказывается, ожидал строго "1" именно в виде строки. Не считаю свой ответ неправильным(