1. Восстанови логику метода someAction для поля solutionAction.
2. Пример вывода смотри в комментарии к методу main.
3. Подсказка: метод someAction анонимного класса поля solutionAction должен вызвать метод сабкласса FirstClass,
если param > 0, иначе вызвать метод сабкласса SecondClass.
Не изменяй
Black box
- 26
Недоступна
Комментарии (180)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Батислав Баткин душа в колесе сансары
14 мая, 17:12
Я наверное реально тупой.. вернулся сюда из квеста Collections 43-juj уровня, всё еще в голове полный бардак когда пытаюсь решить эту дичь.
0
Иван
14 мая, 13:59
Всего эту задачу решили 9436 учеников.
0
Leonid
5 мая, 18:19
не смог сам решить задачу, посмотрел правильное решение. Долго разбирался, но так и не смог понять к чему относиться super?
public void someAction() {
super.someAction();
Solution.this.someAction();
}
если FirstClass ни от какого другого класса не наследуется, к какому классу относится super?
0
Иван
14 мая, 14:07
В данном примере обращение super.someAction() идёт не из FirstClass. Мы в методе someAction(), создаём анонимный класс, который наследуется от FirstClass, именно к нему мы и обращаемся из анонимного класса.
0
SoSed
24 апреля, 08:11
Решил, походу, с первого раза (в смысле, все требования выдерживались). Потом писал костыли для валидатора)
0
hamster🐹 ClipMaker в TikTok
6 марта, 14:19
Тупо подгон под требования... но все равно было интересно)
0
Sergey Kornilov
13 января, 06:57
Всего эту задачу решили 9019 учеников.
0
Владимир Болотов
12 декабря 2021, 09:56
Первая реакция на задачу, наверное, как и у многих других "Да ну его..."
Потом, через пару уровней решил вернуться и поковыряться.
Почитал коменты в обсуждении, посмеялся)
Расписал что к чему - почти всё стало ясно. (по крайней мере как подогнать под такой же вывод)
обратный отсчёт в помощью рекурсии делать даже не пытался - это пока хардкор, да и непонятно зачем. while - вполне справился.
Нашел интересный способ сделать вывод строки со значением param без trim()
- можно не просто создать SecondClass, а создать на его основе анонимный класс, переопределив в нем метод someAction() чтобы на выводил так же и константную строку, и значение параметра.
При этом хотя бы становится оправданным наличия \n в начале константной строки.
Рекурсия, наверное тоже имеет место, но уже только в дальнейшей оптимизации.
Отдельный вопрос так и остался открытым, зачем в требованиях вызов super.someAction()?
может с его помощью можно упростить решение и обойтись без while с помощью рекурсии?
вобщем, если кто знает - напишите! :)
+1
Дмитрий Рыбин
31 декабря 2021, 10:14
public void someAction(){
super.someAction();
System.out.println(SecondClass.SPECIFIC_ACTION_FOR_ANONYMOUS_SECOND_CLASS_PARAM + param);
}
0
Руслан
4 декабря 2021, 19:36
Не понял условия, сразу зашёл сюда. Смотрю тут тоже люди ничего не поняли))
+1
Руслан
4 декабря 2021, 20:06
Решил. В общем. Там надо можно менять код только в someAction. Там также можно переопределять методы не абстрактного класса. Добавил просто цикл и флаг. Валя принял с первого раза (второго, был бы первый, если бы я не поленился проверить консоль)
0
Roman
2 декабря 2021, 08:21
подогнать не пойми чего не пойми подо что. Рекомендую посмотреть и взять решение здесь https://javarush.ru/help/70282 и не тратить время впустую
0
Андрей Шубный
13 ноября 2021, 16:16
Восстановить логику=подогнать под валидатор, общий смысл угадать сложновато..
+1