Black box

  • 26
  • Недоступна
1. Восстанови логику метода someAction для поля solutionAction. 2. Пример вывода смотри в комментарии к методу main. 3. Подсказка: метод someAction анонимного класса поля solutionAction должен вызвать метод сабкласса FirstClass, если param > 0, иначе вызвать метод сабкласса SecondClass. Не изменяй
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (180)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Батислав Баткин душа в колесе сансары
14 мая, 17:12
Я наверное реально тупой.. вернулся сюда из квеста Collections 43-juj уровня, всё еще в голове полный бардак когда пытаюсь решить эту дичь.
Иван
Уровень 32, Russian Federation
14 мая, 13:59
Всего эту задачу решили 9436 учеников.
Leonid
Уровень 25, Москва, Россия
5 мая, 18:19
не смог сам решить задачу, посмотрел правильное решение. Долго разбирался, но так и не смог понять к чему относиться super? public void someAction() { super.someAction(); Solution.this.someAction(); } если FirstClass ни от какого другого класса не наследуется, к какому классу относится super?
Иван
Уровень 32, Russian Federation
14 мая, 14:07
В данном примере обращение super.someAction() идёт не из FirstClass. Мы в методе someAction(), создаём анонимный класс, который наследуется от FirstClass, именно к нему мы и обращаемся из анонимного класса.
SoSed
Уровень 38, Киев, Ukraine
24 апреля, 08:11
Решил, походу, с первого раза (в смысле, все требования выдерживались). Потом писал костыли для валидатора)
hamster🐹 ClipMaker в TikTok
6 марта, 14:19
Тупо подгон под требования... но все равно было интересно)
Sergey Kornilov
Уровень 38, Petropavlovsk, Казахстан
13 января, 06:57
Всего эту задачу решили 9019 учеников.
12 декабря 2021, 09:56
Первая реакция на задачу, наверное, как и у многих других "Да ну его..." Потом, через пару уровней решил вернуться и поковыряться. Почитал коменты в обсуждении, посмеялся) Расписал что к чему - почти всё стало ясно. (по крайней мере как подогнать под такой же вывод) обратный отсчёт в помощью рекурсии делать даже не пытался - это пока хардкор, да и непонятно зачем. while - вполне справился. Нашел интересный способ сделать вывод строки со значением param без trim() - можно не просто создать SecondClass, а создать на его основе анонимный класс, переопределив в нем метод someAction() чтобы на выводил так же и константную строку, и значение параметра. При этом хотя бы становится оправданным наличия \n в начале константной строки. Рекурсия, наверное тоже имеет место, но уже только в дальнейшей оптимизации. Отдельный вопрос так и остался открытым, зачем в требованиях вызов super.someAction()? может с его помощью можно упростить решение и обойтись без while с помощью рекурсии? вобщем, если кто знает - напишите! :)
Дмитрий Рыбин
Уровень 39, Краснодар, Россия
31 декабря 2021, 10:14
public void someAction(){ super.someAction(); System.out.println(SecondClass.SPECIFIC_ACTION_FOR_ANONYMOUS_SECOND_CLASS_PARAM + param); }

Руслан
Уровень 30, Стерлитамак, Россия
4 декабря 2021, 19:36
Не понял условия, сразу зашёл сюда. Смотрю тут тоже люди ничего не поняли))
Руслан
Уровень 30, Стерлитамак, Россия
4 декабря 2021, 20:06
Решил. В общем. Там надо можно менять код только в someAction. Там также можно переопределять методы не абстрактного класса. Добавил просто цикл и флаг. Валя принял с первого раза (второго, был бы первый, если бы я не поленился проверить консоль)
Roman
Уровень 26
2 декабря 2021, 08:21
подогнать не пойми чего не пойми подо что. Рекомендую посмотреть и взять решение здесь https://javarush.ru/help/70282 и не тратить время впустую
Андрей Шубный
Уровень 51, Москва, Russian Federation
13 ноября 2021, 16:16
Восстановить логику=подогнать под валидатор, общий смысл угадать сложновато..