JavaRush /Курсы /Java Collections /Задачи | 7 уровень | 8 лекция

Задачи | 7 уровень | 8 лекция

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

— Амиго, сейчас я дам тебе несколько крутых задач! Ты такого еще никогда не делал, это верх мастерства! Где же она… эээ… Ну… Вобщем, иди и реши те задачи, которые у тебя еще не решены. Отдохни и приходи в следующий раз, я как раз ее найду для тебя.

18
Задача
Java Collections, 7 уровень, 8 лекция
Недоступна
Древний Рим
Амиго, привет! Я недавно увлекся историей вашей планеты и меня заинтересовал период Древнего Рима. Интересно тогда было жить, сплошные развлечения и вино! Или рабство, если не повезло со стартовой локацией... В общем, мне нужен метод romanToInteger, который будет конвертировать число в римской сист
18
Задача
Java Collections, 7 уровень, 8 лекция
Недоступна
Security Proxy
Необходимо создать класс SecurityProxyConnector в пакете connectors, который будет производить проверку безопасности перед подключением. В случае, если проверка не пройдена, соединение не должно быть установлено. Для клиента (в данном случае класс Solution) использование SecurityProxyConnector ниче
18
Задача
Java Collections, 7 уровень, 8 лекция
Недоступна
Decorator
Создай класс RedShapeDecorator в пакете decorators. Он должен расширять функциональность объектов типа Shape не меняя их структуру. Я уже создал абстрактный класс ShapeDecorator, поэтому: 1) Класс RedShapeDecorator сделай наследником класса ShapeDecorator. 2) Реализуй приватный метод setBorderColor()
9
Задача
Java Collections, 7 уровень, 8 лекция
Недоступна
Фасад
Паттерн Фасад позволяет скрыть сложность системы путём сведения всех возможных внешних вызовов к одному объекту, делегирующему их соответствующим объектам системы. В данном случае, в классе Solution по отдельности создаются объекты типов CPU, Memory и HardDrive и, в дальнейшем, на этих объектах выз
9
Задача
Java Collections, 7 уровень, 8 лекция
Недоступна
Шаблонный метод
Классы Football, Basketball и Tennis описывают три популярные игры. Спроси у своего любимого поисковика о паттерне Template method (Шаблонный метод) и сделай так, чтобы код написанный в методе main класса Solution имел смысл. P.S. Класс Game должен быть абстрактным.
18
Задача
Java Collections, 7 уровень, 8 лекция
Недоступна
Chain of Responsibility
Амиго, у нас проблема! Во время визита на планету #IND893 мы рискнули отдать на аутсорсинг автоматизацию входящих задач для членов команды. В это сложно поверить, но похоже всю работу теперь должен выполнять первый помощник! Необходимо срочно исправить поведение программы, ведь полы может помыть и
Комментарии (41)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
wokku Уровень 51
5 сентября 2023
Задачи пушка👍
Taurnil Уровень 51
16 июля 2023
Ого, наконец-то оазис среди бескрайней пустыни задач сложности "Анрил")) Побольше бы таких задач, где за адекватное время можно самостоятельно дойти до решения, не прибегая к чтению комментариев для расшифровки супер-абстрактных условий или без часовых гуглежек еще не пройденного материала)
Константин Уровень 51
1 марта 2023
Так намного понятнее: SecurityProxy - это паттерн проектирования, который позволяет управлять доступом к объекту, добавляя дополнительный слой защиты вокруг него. Этот паттерн является разновидностью паттерна Proxy и используется для обеспечения безопасности при работе с объектами. В Java SecurityProxy может быть реализован с помощью создания прокси-класса, который наследует интерфейс объекта, которому нужна защита, и реализует его методы. Этот класс также содержит ссылку на оригинальный объект и методы, которые проверяют права доступа перед вызовом методов оригинального объекта. Например, если у нас есть объект, который должен быть защищен от неавторизованного доступа, мы можем создать прокси-класс, который проверяет права доступа пользователя перед вызовом методов оригинального объекта. Это позволяет управлять доступом к объекту и предотвратить несанкционированный доступ к его методам и данным. Использование SecurityProxy позволяет создавать безопасные приложения, обеспечивая контроль доступа к объектам и ресурсам. Он может быть полезен в приложениях, которые обрабатывают конфиденциальную информацию или выполняют критически важные операции, где важна безопасность и защита от несанкционированного доступа.
Alexey Maleev Уровень 30
2 февраля 2023
У меня вопрос к администрации Джавараш по задаче "Шаблонный метод": Если почитать про паттерн "Шаблонный метод", то это есть такой метод, в котором вызываются абстрактные методы (которые реализуются в потомках), но сам этот метод нельзя реализовать и переопределить его поведение в потомке. Поэтому в патерне такой метод объzвляется как final

public final void run() {
        prepareForTheGame();
        playGame();
        congratulateWinner();
    }
Однако в этом случае валидатор не принимает решение , и пишет, что в классе Game должен быть определен метод run, в котором в правильной очередности вызваны методы prepareForTheGame(), playGame(), congratulateWinner(). Все работает как надо. Паттерн реализован - но валидатор не принимает. Ради хохмы сделал объявление метода run без final

public void run() {
        prepareForTheGame();
        playGame();
        congratulateWinner();
    }
И - вы решили эту задачу... и так далее. Но без final, мы можем переопределить этот метод в наследнике. А это уже совсем не паттерн "Шаблонный метод"! Поправьте что-ли валидатор...
Denis Rogov Уровень 1 Expert
18 января 2023
Мммммм в задачах не нужно построить адронный коллайдер. Браво. Почему всегда нельзя давать задачи не на олимпиаду, а на закрепление материала? Я придерживаюсь такой точки зрения: лучше эти задачи будут средние и лёгкие, или хоть пусть все лёгкие, но чтобы они работали на закрепление материала и их было много. Я столько времени потерял за всё моё обучение на эти олимпиадные задачки, которые ты можешь решать дня 3 по 5 - 8 часов в день (да, такое бывало, потому что ты ищешь путь решения и читаешь кучу нового материала, но перед тем как его прочитать ты должен его отфильтровать, а это занимает кучу времени).
Вадим Уровень 40
4 октября 2022
Отличный блок!
ArturZ Уровень 42
11 августа 2022
Для решения задач дико пригодилась книжка про паттерны из серии Head First, там все разжевано и показано на пальцах
Жора Нет Уровень 39
7 мая 2022
private static int romanToInteger(String romanString) { return romanString.replace("CM", "DCD").replace("M", "DD") .replace("CD", "CCCC").replace("D", "CCCCC") .replace("XC", "LXL").replace("C", "LL") .replace("XL", "XXXX").replace("L", "XXXXX") .replace("IX", "VIV").replace("X", "VV") .replace("IV", "IIII").replace("V", "IIIII").length(); } необычное решение нашел😧
On1k Уровень 45
16 сентября 2022
таки да, очень интересно =)
Святослав Уровень 29
26 сентября 2022
Вот за это мне и нравится Java. Всегда существует решение о котором никто не догадывается. 🤯
Gans Electro Уровень 42
22 февраля 2024
😂 ужас
Denis Odesskiy Уровень 47
9 февраля 2025
Необычно, да😀. Тоже люблю Java за гибкость и возможность решить задачу очень многими путями.👍 П/С: Но психопат, живущий по соседству, который прочёл этот код, уже выехал...😵
17 февраля 2022
очень наглядные задачи для понимания паттернов!
Ars Уровень 41
27 ноября 2021
Инфа по последней задаче: Среднее количество попыток для этой задачи 1.46. Всего эту задачу решили 2682 учеников.
Сергей Уровень 1
21 июня 2022
Среднее количество попыток для этой задачи 1.43. Всего эту задачу решили 3045 учеников.