Собираем семейство

  • 10
  • Недоступна
Попробуем создать программу для семейной переписи. Для этого пишем класс Human с полями имя(String), пол(boolean), возраст(int), дети (ArrayList Human). Для тренировки создайте объекты и заполните их данные так, чтобы получилось два дедушки, две бабушки, отец, мать, трое детей. Выведите объекты на экран.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (534)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Виктор 9 уровень, Санкт-Петербург
20 часов назад
Толи у меня к этому моменту мыслетопливо закончилось, толи опять ТЗ фиговое... Больше всего времени я потратил, чтобы ПОНЯТЬ, чего от меня хотят. Честное слово, почему бы пример вывода не написать? Сразу бы стало понятно, что нужно сделать. 1. Конструкторы НЕ методы, но приватить их нельзя! (это для валидатора). 2. Решил в 2 конструктора: 2.1. Первый конструктор без родственных связей, только имя, пол и возраст. 2.2. Второй конструктор с дополнительным указанием отца, матери и проверками внутри: 2.3. Если отец в параметрах конструктора НЕ NULL, то добавляем текущего человека в список детей отца (идентичная проверка и добавление для матери в параметрах). 3. Нагенерил людей, внимательно заполняя параметры их конструкторов: - бабушка1 + дедушка1 = мама - бабушка2 + дедушка2 = папа - мама+ папа = ребенок1, ребенок 2, ребенок3 4. Метод toString() не менял, валидатор принял (и бог с ним, ну его в баню с такими ТЗ). 5. Всё получится. -- tlgrm: LetsCodeIt / SefoNotasi
Никита Филипчук 8 уровень, Одесса
вчера, 19:48
"Класс Human должен содержать один метод." Конструктор тоже метод... То есть конструктор делать нельзя получается? Правильно? Неправильно! (Вот и пойми после этого кого слушать: себя или валидатор)
Равиль Ганиев 9 уровень
пятница, 10:41
создал два конструктора. в одном: возраст, пол, имя. в другом: то же самое плюс отец и мать. в самом конструкторе сделал добавление в чилдрен: отец.children.add(this) и мать.children.add(this).
Artem K. 19 уровень, Москва
17 октября, 09:38
Валидатор пропускает разные варианты добавления детей, но решил учесть, что у мамы и папы список детей общий (ну и у бабушек с дедушками тоже). И если у мамы добавился ребенок, то он должен добавиться и у папы. А значит это должен быть один объект в памяти. Валидатор на это вроде не обращает внимания, не уверен. Попробуйте:
mother.children.add(new Human());
System.out.println(father);
Появится ли у папы новый ребенок или он о нем ничего не знает?) В жизни конечно ситуации разные бывают, но у нас же приличная семья)
Margarita 10 уровень, Иваново
16 октября, 08:47
Может кому-то поможет: лямбда выражение - это еще один метод family.forEach(s -> System.out.println(s)); С ней не проходит по условию "Класс Solution должен содержать один метод."
AlexTsiunel 13 уровень, Гродно
15 октября, 05:32
В данной задаче создавать более одного конструктора считаю лишним. Как создать людей у которых нет детей? Так же как и людей у которых дети есть (дети могут появиться в будущем ;) ). Для детей от разных родителей свой список. Ну как то так.
Druha 14 уровень
10 октября, 13:50
Конструкторы создавать можно. У меня было 3 конструктора, задачу приняло. в метод toString вообще не залазил, @Override не прописывал
Евгений Р 14 уровень, Иркутск
9 октября, 16:10
Может кому-то поможет, но я в метод toString внес коррективы, а именно try - catch, чтоб обработать ошибку когда методу попадают дети без детей:). Валидатор засчитал. PS: Так получилось, что я сначала прочитал теорию 9 уровня и только потом вернулся к задачам 8. Хотя до этого и на более низких уровнях попадались задачи, где уже встречалось обработка исключений.
Sergey Zerg 9 уровень
6 часов назад
я перед выводом детей добавил проверку на null. засчиталось.
Сэм Фишер 19 уровень, Кишинев
9 октября, 10:00
решил быстро, но оказался невнимателен в одном моменте - у отца и матери массив из 3 детей. у бабушек с дедушками я запихивал массив с отцом и матерью(всем), что не правильно, потому что у одного деда с бабкой будет отец, а у других мать. будьте внимательны
aleksdenni ФОП в Дом
6 октября, 14:03
41760-й. Очень много текста получилось )) Наверное нужно было закинуть всех людей в лист и потом выводить , я вывод сделал через соут . Также добавление детей через метод, было бы удобнее(но по условию низя)) По созданию людей , тоже кучу места занимает (и требует повторений). Дальше будут темы про наследование , становится понятно = зачем оно нужно)