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

Открыта

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

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

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

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

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

8
Задача
Java Core,  4 уровень,  8 лекция
Недоступна
Нашествие исключений
На самом деле исключений в программах бывает море, и вы к ним со временем привыкните. Начинайте прямо сейчас: заполните список exceptions десятью(10) различными исключениями. Первое исключение уже реализовано в методе initExceptions.
8
Задача
Java Core,  4 уровень,  8 лекция
Недоступна
НОД
Продолжаем наши попытки войти в космическое пространство планеты Линейный Хаос. И вот ещё одно задание с приграничного собеседования для юных поступающих: найти наибольший общий делитель (или НОД) двух целых положительных чисел.
8
Задача
Java Core,  4 уровень,  8 лекция
Недоступна
Singleton
Класс реализует паттерн Singleton, если позволяет создать всего один объект своего типа. Вам нужно создать класс Singleton в отдельном файле, добавить в него статический метод getInstance (он должен возвращать один и тот же объект класса при любом вызове). Подумайте, каким образом можно запретить создание других объектов этого класса.
Комментарии (135)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Владимир15 уровень, Москва
вчера, 08:00
Singleton Кто, как и я, сам не допетрил (на данный момент 51% решает не с первой попытки), читаем эту лекцию.
virex23 уровень, Екатеринбург
5 марта, 11:08
Сегодня день борьбы с валидатором.
7. Считать с консоли несколько ключей (строк).
7.1. Ввод заканчивается, как только вводится строка не совпадающая с одной из: "cartoon", "thriller", "soapOpera".
Ну ок, сначала сравниваю строку и выхожу если что не так. Валидатор:
Для каждой строки должен вызываться MovieFactory.getMovie
virex23 уровень, Екатеринбург
11 марта, 02:43
Речь об очередности. Сначала в задании нам говорят "введите строку, проверьте её содержимое на "cartoon", "thriller", "soapOpera", а потом вызывайте фабрику"... Потом валидатор говорит: "сначала вызови фабрику, а потом проверяй"
Dima Smirnov15 уровень
19 февраля, 16:23
Alt + ← / → - переключение между вкладками в IjIDEA
DinosauR15 уровень, Киев
23 февраля, 23:18
Ctrl + Tab переключение между вкладками, даже в хроме))
Slavik20 уровень, Одесса
4 февраля, 18:38
Народ, кто может объяснить. Когда в IDEa вводил person.live(), то он сам изменил строчку на ((Person.User) person).live(); Почему именно так?
Sam G17 уровень
6 февраля, 20:17
Потому что класс User находится внутри класса Person.
Богдан17 уровень, Киев
9 февраля, 18:12
Потому что Person это интерфейс и у переменной этого типа мы не можем вызвать метод live, этот метод находится в классе User, поэтому для того, чтоб вызвать этот метод нам нужно явно привести person к User, а так как класс User находится внутри интерфейса Person, то мы обращаемся к нему Person.User
Ivan Kozlovich19 уровень, Санкт-Петербург
28 января, 16:01
Подскажите, тут происходит приведение типа и затем вызов метода? Idea подсказала эту строчку:
((Person.User) person).live();
Руслан19 уровень, Москва
31 января, 13:36
да
Игорь18 уровень, Харьков
11 января, 19:13
Попробовал усовершенствовать задачу 1411 "User, Loser, Coder and Proger". Если в интерфейсе Person добавить метод без тела
void live();
и во всех классах (User, Loser, Coder и Proger) имена методов заменить на live, то тогда существенно упрощается метод doWork - буквально до одной строки
public static void doWork(Person person) {
        // пункт 3
        person.live();
    }
Всё работает так, как нужно, но валидацию естественно не проходит. Зато можно увидеть всю мощь ООП в действии))
pchelovod195019 уровень, Москва
29 декабря 2018, 17:12
Люборытно. В задаче "User, Loser, Coder and Proger" если кто применял switch/case для получения условия, то использовали person.getClass().getSimpleName()) или как-то person instanceof XXX удалось приспособить? У меня switch/case с person.getClass().getSimpleName()) не прошёл. Хотя программа работает коректно.
Андрей27 уровень, Одесса
5 января, 14:44
Тоже делал через switch. Ё... валидатор не пропускает.
Sid205026 уровень
9 января, 19:16
Я делал через if в условии person instanseof Person.ИмяКласса..
Владимир15 уровень, Москва
пятница, 10:32
Создал 4 соотв. переменных. switch-ом в цикле из заполнял. Потом создание объектов через if. Всё ок.
Игорь22 уровень, Нижний Новгород
21 декабря 2018, 20:40
Что-то на этом уровне задачки, что называется, "не зашли"... Долго с каждой мучился. И вот, вроде, не шибко сложные, но не пошли... И это при том, что теория (вместе с доп.материалами) не сложная и на этом уровне ее не много. То ли перегруз (14 уровней за полторы недели), то ли так резко повысилась сложность прохождения квестов. Посмотрим что будет дальше.
Андрей14 уровень, Новосибирск
12 марта, 05:47
Формулировки задач зачастую какие-то странные
Mikhail Lazarev25 уровень
19 декабря 2018, 19:23
А еще прикол, что в задачи про квартиры (которая просто против логики упрощай используя интерфейсы - ведь можно было сделать один метод clean). Написал красивое решение, лень печатать: for (Apartment apartment : apartments) { apartment.getClass().getDeclaredMethods()[0].invoke(apartment); } Оно вызывает первый метод у всех классов, ясно - что писать руками - это зло для разработчика. Но нет, результат не важен - нужная формальность :(
Mikhail Lazarev25 уровень
19 декабря 2018, 18:30
А в задаче User/Loser/Coder/Proger - с чем воют валидатор. Я все проверил через debugger - все как в ТЗ. Бесит