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

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

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

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

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

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

8
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
Мосты
Создайте интерфейс Bridge с методом getCarsCount(), подсчитывающим количество машин и классы WaterBridge и SuspensionBridge, которые реализуют этот интерфейс. Метод getCarsCount() должен возвращать любое фиксированное значение типа int и это значение должно быть разным для разных классов.
8
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
Дегустация вин
У 30% роботического населения планеты Сото наблюдается одна зависимость, которая вызывает опасения у остальных 70% роботического населения планеты Сото: алкоголь. Точнее, программирование алкоголя, речь о роботах всё-таки. Наконец-то вы сможете это сделать!
16
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
User, Loser, Coder and Proger
1. Ввести [в цикле] с клавиатуры несколько строк (ключей). Строки(ключи) могут быть такими: "user", "loser", "coder", "proger". Ввод окончен, когда строка не совпадает ни с одной из выше указанных. 2. Для каждой введенной строки нужно: 2.1. Создать соответствующий объект [см. Person.java], например
4
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
Реализовать метод printMainInfo
Напишите реализацию метода printMainInfo, чтобы: * Если в метод передают объект типа Drawable, у этого объекта вызывался метод draw. * Если в метод передают объект типа Movable, у этого объекта вызывался метод move.
8
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
Computer
Собираем новый компьютер для работы, и делаем это с помощью программирования и ООП-инструментов. У нас будет не просто класс Computer, но интерфейс CompItem, который будет реализован в классе Computer.
16
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
MovieFactory
У вас есть код программы MovieFactory, разберитесь, что она умеет делать. Добавьте классы Cartoon, Thriller и разберитесь, как мы получаем объект класса SoapOpera по ключу "soapOpera".
8
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
Клининговый центр
Создаем виртуальный клининговый центр с методом cleanAllApartments для всех типов квартир и индивидуальные методы для уборки одно- двух- и трехкомнатных квартир.
8
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
Стой, кто плывет?
Подумайте, как связаны интерфейсы Swimmable(способен плавать) и Walkable(способен ходить) с классом OceanAnimal(животное океана). Расставь правильно наследование интерфейсов и класса OceanAnimal. И как могут быть связаны классы Orca(Косатка), Whale(Кит), Otter(Выдра) с классом OceanAnimal...
16
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
Валюты
Поработаем с деньгами. Вам предстоить расширить функциональность программы, которая позволяет производить манипуляции с валютами. Какие именно — узнаете из условия задачки. Для начала в абстрактном классе Money создайте приватное поле amount типа double...
8
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
Исправь четыре ошибки
В этом коде есть четыре ошибки, и ваша задача... Да вы уже догадались, какова ваша задача. Первым делом вам нужно разобраться, что делает код, кое-что создать и исправить ошибки, которые были оставлены до вашего вмешательства в код (и после тоже, если они есть).

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

8
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
Нашествие исключений
На самом деле исключений в программах бывает море, и вы к ним со временем привыкните. Начинайте прямо сейчас: заполните список exceptions десятью(10) различными исключениями. Первое исключение уже реализовано в методе initExceptions.
16
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
НОД
Продолжаем наши попытки войти в космическое пространство планеты Линейный Хаос. И вот ещё одно задание с приграничного собеседования для юных поступающих: найти наибольший общий делитель (или НОД) двух целых положительных чисел.
8
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
Singleton
Класс реализует паттерн Singleton, если позволяет создать всего один объект своего типа. Вам нужно создать класс Singleton в отдельном файле, добавить в него статический метод getInstance (он должен возвращать один и тот же объект класса при любом вызове). Подумайте, каким образом можно запретить создание других объектов этого класса.
Комментарии (692)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Zhenya116 Уровень 28
17 октября 2025
в задаче про вина дизлайк за "Новый Год" и "День Рождения", с большой буквы оба слова: минус попытка... чо по грамматике...
Vladimir Уровень 15
23 октября 2025
тоже на этом попался))) тут дело не совсем в грамматике - а читать ТЗ правильно надо видимо)))
murad Уровень 29
11 сентября 2025
11.09.2025
invoker main Уровень 42
28 сентября 2025
Сдался?
23 октября 2025
похоже на то
murad Уровень 29
13 января 2026
нет
nastya_zhadan Уровень 66
4 сентября 2025
Ну как, все довольны количеством задачек? 🙃
Anonymous #3585174 Уровень 33
13 августа 2025
Like
R1no933 Уровень 33
3 июня 2025
Я бы задачу на НОД решал так

public class Solution {
    public static void main(String[] args) throws Exception {
        try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {
            int a = Integer.parseInt(reader.readLine());
            int b = Integer.parseInt(reader.readLine());

            while (a != 0 && b != 0) {
                if (a > b) a = a % b;
                else b = b % a;
            }

            System.out.println(a + b);
        }
    }
}
Vyacheslav Уровень 30 Expert
10 мая 2025
Задачу на нахождение общего делителя можно решить методом Евклида:

// a и b - входные данные
public static int gcd(int a, int b) {
        while (b != 0) {
            int temp = b;
            b = a % b;
            a = temp;
        }
        return a;
    }
тогда сложность алгоритма будет O(log n)
Dirk Gently Уровень 1
11 мая 2025
Только сначала нужно выяснить, какое из чисел a и b больше. Иначе будет ошибка при попытке вычислить остаток от деления 24 на 42, например. Мне евклидов метод больше нравится, но записать так же коротко, как правильное решение, не получится увы.
Илья Уровень 30
24 мая 2025
Не будет никакой ошибки. Остаток от деления 24 на 42 = 24. 42 ноль раз вмещается в число 24, соответственно, остаток 24. Остаток от деления меньшего числа на большее - это просто само меньшее число.
Nagnetatel Уровень 29
30 мая 2025
Тоже решил методом Евклида, только что бы не проверять большее или меньшее число, создал 2 доп переменные

public class Solution {
    public static void main(String[] args) throws Exception {        
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int big = Math.max(a, b);
        int small = Math.min(a, b);        
        int NOD = small;        
        while (big % small != 0) {
                NOD = big % small;
                big = small;
                small = NOD;
            }        
        System.out.println(NOD);
    }    
}
Олег Сычев Уровень 29
8 мая 2025
08.05.2025 - завершил 24-ый уровень =))
Евгений Уровень 37
25 апреля 2025
4 ноября 2024 - 1 уровень 10 ноября 2024 - 4 уровень 22 ноября 2024 - 10 уровень 8 января 2025 - 12 уровень 28 января - 14 уровень 16 февраля - 15 уровень 19 февраля -16 уровень 4 марта -17 уровень 20 марта -18 уровень 25 марта - 19 уровень 30 марта - 20 уровень 31 марта -21 уровень 1 апреля -22 уровень 5 апреля -23 уровень 26 апреля - 25 уровень 25 мая - 27 уровень 8 июня - 28 уровень 27 июля - 32 уровень Задачки огонь! Кайф настоящий!
Олег Сычев Уровень 29
8 мая 2025
Почему у вас снова 1 уровень? оО
Евгений Уровень 37
10 мая 2025
видимо открыл другой курс и отображался уровень нового курса)))))
Vitalii Shevchenko Уровень 1
10 апреля 2025
loop: while (true) { key = reader.readLine(); switch (key) { case "user": doWork(new Person.User()); break; case "loser": doWork(new Person.Loser()); break; case "coder": doWork(new Person.Coder()); break; case "proger": doWork(new Person.Proger()); break; default: break loop; } } Можливо, комусь буде корисно. Замість створення булінової змінної, яка потрібна в ролі прапорця, можна скористаться комбінацією брейка + мітка
Evgeniy Уровень 27
31 марта 2025
/* Комментарий удален */
Иван Сахаров Уровень 32
1 апреля 2025
предполагаю потому что ты всегда присваивваешь в цикле x1= num2. видимо ты хотел написать x1 = x2;