• ,

task30.task3011 Одно изменение кода

Внеси одну правку в код программы, чтобы вывод всегда был «ABC«, даже если в метод doSmth
передавать параметрами null.
Не изменяй и не добавляй строковые литералы. Не изменяй строки с выводом данных на экран.
Не добавляй сеттеры.

Проверки по экземплярам классов А и В идентичные, Отличается лишь блок по классу С.
Если не менять строковый литерал в 65 строке
c.setName("null");
,
то остаётся блок
try {
       if (c == null && c.getName() != null) {
            }
        } catch (NullPointerException e) {
            c = new C();
            c.setName("C");
        }

Логично, что нам нужен NPE, который вызывается либо изменением одного (!/=) символа, либо flip'ом условий.
Но ни так, ни так задача не принимается.

P.S. можно ещё && на || поменять. С тем же результатом, увы…

4 комментария

alenka_fml
Аналогичная ситуация. Вариант очевидный, валидатор не принимает.
Oromiz
То же самое.
d31m07y1988
P.S. можно ещё && на || поменять. С тем же результатом, увы…

А теперь подумай что делает двойной оператор? :)
Estonian
Да, этот вариант я упустил, спасибо, помогло.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.