Не понимаю совершенно. В IJ программа работает, вывод на экран
Имя: Fred, пол: мужской, возраст: 60, дети: Ric
Имя: Marta, пол: женский, возраст: 58, дети: Ric
Имя: Tom, пол: мужской, возраст: 61, дети: Katrin
Имя: Liza, пол: женский, возраст: 56, дети: Katrin
Имя: Ric, пол: мужской, возраст: 40, дети: Alex, Billi, Kitti
Имя: Katrin, пол: женский, возраст: 38, дети: Alex, Billi, Kitti
Имя: Alex, пол: женский, возраст: 18
Имя: Billi, пол: мужской, возраст: 12
Имя: Kitti, пол: женский, возраст: 8
Вполне корректно. Но у валидатора - претензия "класс Human должен содержать 4 поля".
Но их и есть - 4?
Уже вставила модификатор public, т.к. в рекомендации от ментора: убедитесь, что поля класса не содержат модификатора private.
Хотя работает прекрасно и без модификатора public перед данными.
Так что я тут не вижу?
Slana
41 уровень
Не проходит валидацию - класс Human должен содержать 4 поля
Решен
Комментарии (10)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Roman Pryshchepa Java Developer Expert
15 марта 2018, 13:45
Про children правильно подсказали. Исправим это.
0
Арсен Авалян
15 марта 2018, 10:44
Убери инициализацию childs. Должно быть так:
0
Slana
15 марта 2018, 12:55
То, что Вы предлагаете, у меня было в первом варианте. Итог тот же: компиляция без ошибки, а валидатор дает ту же претензию. Я уже перепробовала массу вариантов, претензия валидатора одна и та же.
0
Арсен Авалян
15 марта 2018, 13:35
Переименуй обратно в children. Потому что в условии было именно children. Попробуй отправить на проверку. Удачи!
p.s. инициализация children (childs) в классе Human избыточна.
+2
Slana
15 марта 2018, 17:13
Вы правы. Как только переименовала - валидация прошла. Получается, написав код полностью без ошибки сразу я промучилась сутки из-за "борьбы с валидатором". По избыточности инициализации согласна, это уже с горя, от непонимания происходящего. Спасибо!!!
0
--------Master
15 марта 2018, 08:55
А зачем дети переименованы в некий childs?
+1
Slana
15 марта 2018, 12:57
А какая разница, как называть? Программе же все равно, лишь бы корректно было
0
--------Master
15 марта 2018, 13:12
Вопрос в том, как именно валидатор это проверяет - вдруг реально пытается найти 4 поля с конкретными именами, хотя и маловероятно))
0
Johann Android Developer
15 марта 2018, 08:45
Попробуйте создать в классе Human еще один конструктор с тремя аргументами, без списка детей и детей инициализировать через него, а остальных через существующий.
0
Slana
15 марта 2018, 13:00
Пробовала. Тогда надо править toString, т.к. там проверка на длину массива, но я правила, запускала. Компилятор вполне благожелательно работает, все выводится, но на валидации та же ошибка. Поэтому я перестала понимать, что же тут не так.
0