Бонусное задание | 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 (он должен возвращать один и тот же объект класса при любом вызове). Подумайте, каким образом можно запретить создание других объектов этого класса.
Комментарии (121)
  • популярные
  • новые
  • старые
Для того, что бы оставить комментарий вы должны авторизоваться
Игорь15 уровень, Харьков
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();
    }
Всё работает так, как нужно, но валидацию естественно не проходит. Зато можно увидеть всю мощь ООП в действии))
pchelovod195018 уровень, Москва
29 декабря 2018, 17:12
Люборытно. В задаче "User, Loser, Coder and Proger" если кто применял switch/case для получения условия, то использовали person.getClass().getSimpleName()) или как-то person instanceof XXX удалось приспособить? У меня switch/case с person.getClass().getSimpleName()) не прошёл. Хотя программа работает коректно.
Андрей17 уровень, Одесса
5 января, 14:44
Тоже делал через switch. Ё... валидатор не пропускает.
Sid205018 уровень
9 января, 19:16
Я делал через if в условии person instanseof Person.ИмяКласса..
Игорь22 уровень, Нижний Новгород
21 декабря 2018, 20:40
Что-то на этом уровне задачки, что называется, "не зашли"... Долго с каждой мучился. И вот, вроде, не шибко сложные, но не пошли... И это при том, что теория (вместе с доп.материалами) не сложная и на этом уровне ее не много. То ли перегруз (14 уровней за полторы недели), то ли так резко повысилась сложность прохождения квестов. Посмотрим что будет дальше.
Mikhail Lazarev20 уровень
19 декабря 2018, 19:23
А еще прикол, что в задачи про квартиры (которая просто против логики упрощай используя интерфейсы - ведь можно было сделать один метод clean). Написал красивое решение, лень печатать: for (Apartment apartment : apartments) { apartment.getClass().getDeclaredMethods()[0].invoke(apartment); } Оно вызывает первый метод у всех классов, ясно - что писать руками - это зло для разработчика. Но нет, результат не важен - нужная формальность :(
Mikhail Lazarev20 уровень
19 декабря 2018, 18:30
А в задаче User/Loser/Coder/Proger - с чем воют валидатор. Я все проверил через debugger - все как в ТЗ. Бесит
Dmitry Golyshkin16 уровень, Москва
3 декабря 2018, 21:03
А как сделать курсор например в 3-х и более местах одновременно
Alex19 уровень, Харьков
18 декабря 2018, 22:57
Shift+Alt
Andrii Gorshunov26 уровень
26 ноября 2018, 20:44
Задача: Нашествие исключений. throw new NullPointerException(); и тд... Прикольный блок задач. Решать за один вечер наверное я бы не рекомендовал. При этом я в один вечер решил все задачи, кроме трёх со звездочками(последних) и голова уже была уставшая. На следующий вечер легко решились три остальных. Мой совет - разделять на несколько подходов такой объем :) Двигаемся дальше
Роман15 уровень
20 ноября 2018, 11:32
знает кто-нибудь горячую клавишу для объявление нового класса в новом файле?
Vitaly Khan35 уровень
21 ноября 2018, 08:17
я делаю так: Alt + 1 - это для переключение в окно проекта Alt + Insert далее Enter - для создания нового класса в файле
Роман15 уровень
23 ноября 2018, 09:26
Спасибо за ответ
Loveandpepper20 уровень, Москва
2 декабря 2018, 21:23
F6 Начинай лучше с интерфейса или абстрактного класса и далее по наследованию. Кстати, может мне кажется, но проще в одном файле всё создать, унаследовать, имплиментировать, а потом за 10 секунд раскидать по файлам.
Zakir Ayubov22 уровень, Москва
11 ноября 2018, 14:59
Ребят, что за alt+insert и команды? что с ними делать? как нажать?
Роман15 уровень
20 ноября 2018, 11:21
нажатие одновременно клавиш alt и insert в среде разработки IntelliJ IDEA вызывает генератор кода, с помощью которого вы сможете быстро добавить геттеры, сеттеры, конструкторы и т.д. в нужное место кода для нужно класса
Дмитрий Зотин22 уровень, Нижний Новгород
25 октября 2018, 09:00
Задача "User, Loser, Coder and Proger" Задачку собственно решил, но в методе main образовалась "ужасная" цепочка из if-else if с проверкой на валидность. Может у кого-то получилось более элегантное решение?
31 октября 2018, 08:45
Используй switch / case... Тоже не фонтан, но ничего другого наверное не получится.
Макс20 уровень, Киев
7 ноября 2018, 13:02
Валидатор switch не пропускает в этих задачах
12 ноября 2018, 13:04
Странно. У меня пропустил...
IceBerg20 уровень, Днепр
17 декабря 2018, 14:45
Пропускает, ищите ошибку, возможно забыли расставить Брейки.
pchelovod195018 уровень, Москва
29 декабря 2018, 17:03
А вы в switch/case применили person.getClass().getSimpleName()) или как-то person instanceof XXX удалось приспособить?