Минимальное число статиков

  • 5
  • Недоступна
Разминать мозги полезно, а делать это лучше всего с помощью головоломок. Но поскольку мы — программисты, головоломки мы помещаем прямо в код. Вот, держите: в коде этой задачки нужно расставить минимальное количество static’ов так, чтобы код начал работать и программа успешно завершилась.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (88)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Yuri Serebryakov15 уровень
3 августа, 08:14
А мне вот не понятно следующее. method4 не статичный, но вызывается без указания объекта. Как так? Или т. к. method4 вызывается уже не из статического метода method3 которому мы передали ссылку на созданный объект, то можно не указывать объект?
Stanislav Kravchuk8 уровень, Москва
25 июля, 16:11
Если не объявить переменную step как public, то валидация указывает на ошибку: "В коде должно быть только 4 переменных static". Хотя их и так уже 4(2 метода, переменная и main). Качество проверок задач на крайне низком уровне...
Алексей7 уровень, Саранск
31 августа, 18:25
Изначально static только у main() был проставлен. В плане проверки тут все норм
n10z9 уровень, Москва
26 июня, 16:59
Кто не знает что такое static. 10 заметок о модификаторе Static в Java.
Wladyslaw22 уровень, Warsaw
8 июня, 17:12
Все методы до создания объекта - должны быть статик. Итого 2 модификатора. Плюс переменная класса должна быть статик ибо юзается в методе 4 как счетчик - а значит должна принадлежать классу, а не объектам. А вывод - это стекстрейс, как я понял отражение стека вызова методов. Хотя, я пока только одну статейку по этой теме читнул, не скажу точно
MartyMcAir19 уровень
3 июня, 10:24
"порочный круг статических" прекращается на method2, т.к. он создает новый объект (с анонимной ссылкой) класса Solution() и таким образом вызывается не статический method3(); _ а там дальше по лесенке к методу 4 и т.д. и переменная step должна быть одна для всех объектов т.е..
Sherlock040417 уровень, Москва
25 апреля, 16:48
С 6 раза но сама...
эволюта23 уровень
16 марта, 18:14
В предыдущей задаче статики считал отдельно от метода майн. Сработало там. Тут нет.Надо считать статики со статиком метода майн. Хотя с лишним статиком отлично работает.Пока разобрался убил некоторое время.
tahonco8 уровень, Москва
12 марта, 09:52
Наугад
Margulan7 уровень
понедельник, 09:34
так же(
Denis7 уровень
22 февраля, 18:42
С первой попытки, йо!
Андрей Зуйков22 уровень, Санкт-Петербург
16 февраля, 13:21
Следует обратить внимание на строчку
new Solution().method3();
Это же вызов метода класса... я не совсем осознал, но задача решилась))
Fulgrim Imperatorovich16 уровень, Екатеринбург
17 февраля, 09:56
Не подскажете, что эта строка вообще означает?
Андрей Зуйков22 уровень, Санкт-Петербург
17 февраля, 19:15
Я точно не знаю... Если бы было просто написано
new Solution()
то это просто вызов обычного конструктора и на выходе мы бы получили ссылку на новый объект, а в случае с
new Solution().method3();
я думаю, звучит коряво, но это наверное ссылка на метод или результат работы метода класса, что-то такое... это тот самый фокус который позволяет залезать из статического метода в не статические...
S22 уровень, Минск
19 февраля, 19:27
Анонимно создается объект класса Solution и на нем вызывается нестатический method3, я так понимаю.
эволюта23 уровень
16 марта, 18:10
Это создался анонимный объект. Он должен использоваться сразу после создания и сразу после использования улетает в мусор.Больше его нет.