Семейная перепись

  • 4
  • Недоступна
Попробуем создать программу для семейной переписи. Для этого пишем класс Human с полями имя(String), пол(boolean), возраст(int), отец(Human), мать(Human). Для тренировки создайте объекты и заполните их данные так, чтобы получилось два дедушки, две бабушки, отец, мать, трое детей. Выведите объекты на экран.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (134)
  • популярные
  • новые
  • старые
Для того, что бы оставить комментарий вы должны авторизоваться
Виталий10 уровень, Санкт-Петербург
15 января, 18:35
Если класс Human описывается перед классом Main, то программа не проходит валидацию по причине "программа не должна ничего считывать с клавиатуры". Если класс Human описывается после Main, то всё принимается. У меня одного так? Товарищи модераторы, проверьте задачу на баг, пожалуйста.
Павел10 уровень, Санкт-Петербург
8 января, 17:48
Если бабушек и дедушек создавать через полный конструктор, передавая в аргументы родителей null
Human granny1 = new Human("Алла",false,65, null, null);
Валидацию не пройдет, нужно использовать именно конструктор без родителей
Human granny1 = new Human("Алла",false,65);
Не сразу допер, потратил 4 попытки, пока понял в чем дело.
Konstantin 9 уровень, Санкт-Петербург
28 ноября 2018, 23:33
Такая маленькая подсказка ,чтобы не писать вывод каждый раз , просто занесите все объекты в список и выведите сам список(это не обязательно )
y-grek8 уровень, Киев
16 декабря 2018, 16:17
можно еще в оба конструктора записать вывод после инициализации полей
Dmitry Deryuga20 уровень
6 ноября 2018, 18:35
Подскажите, почему при переопределении метода toString мы не прописываем аргумент Object obj. Попробовал в примере вписать аргумент получил в консоль набор хэшкодов объектов. Ранее, вроде бы, заставляли прописывать с аргументом, а здесь реализовано без него. В чем смысл?
Alexey Polyakov20 уровень
9 октября 2018, 22:26
Блин, на автомате записал всю семью, включая родителей жены и свою дочь. Получился перебор по созданным объектам. Администрация, может измените условие: 5. Создай 9 разных объектов типа Human (4 объекта без отца и матери и 5 объектов с ними)). На : 5. Создай как минимум 9 разных объектов типа Human (4 объекта без отца и матери и 5 объектов с ними)).
argusgun35 уровень, Москва
7 августа 2018, 20:05
пипец из-зa Boolean вместо boolean не приняло задачу обидно даже как то
Stanislav Rakov15 уровень, Москва
2 августа 2018, 10:49
Сделал, но нифига не понял, как работает нижний метод public String toString() { String text = ""; text += "Имя: " + this.name; text += ", пол: " + (this.sex ? "мужской" : "женский"); text += ", возраст: " + this.age; if (this.father != null) text += ", отец: " + this.father.name; if (this.mother != null) text += ", мать: " + this.mother.name; return text;
Lena Gavrilov9 уровень
28 декабря 2018, 16:49
Я тоже в потемках. Тем более, что этот text я вообще нигде не писала. А программа скомпилировалась и даже прошла валидацию...
Дмитрий8 уровень
10 января, 21:39
ВЫ можете просто написать String text. Далее : text = "Имя" + this.name соответсвенно в переменную text записывается вот эта страка которая получилось. для того чтобы выводилось пол мужской или женский соотвественно к той строке text нужно приписать нову строку связанную с полом тоесть переменная text во второй раз уже пишется text = text + "Пол" ... И ей присвается эта страка в конец и соответсвенно третий раз так же припысываем в конец возраст путем добавления полученного text на втором шаге. По сути вы могли написать и вот так: String text = "Имя" +this.name +" Пол"+(this.sex? "Мужской" : "Женский")+ " возраст" +this.age; Ну соответсвенно раставив все пробелы. Как то так.
Дмитрий8 уровень
10 января, 21:39
Вопрос попытался пояснить
Дафна8 уровень
26 июля 2018, 17:17
если кому интересно или непонятно шо таке toString, чекайте видео (в дуэте с ними задачи здесь конечно пушка) : https://www.youtube.com/watch?v=KEQ043yT3F4&list=PLAma_mKffTOSUkXp26rgdnC0PicnmnDak&index=25
Iurii Suchkov8 уровень
29 июля 2018, 16:28
У него по-моему вообще лучшие уроки в рунете по уровню объяснения материала :) Такое ощущение, что эту задачу придумали как раз после просмотра урока от Алишева ))))
Stanislav Rakov15 уровень, Москва
2 августа 2018, 14:57
спасибо за ссылку, стало понятно, зачем этот метод сделан.
Nik15 уровень
28 ноября 2018, 06:29
Спасибо, помогло))
Artur Navasardyan8 уровень, Москва
4 июля 2018, 21:23
друзья кто может объяснить что из себя представляет public String toString() { String text = ""; text += "Имя: " + this.name; text += ", пол: " + (this.sex ? "мужской" : "женский"); text += ", возраст: " + this.age; if (this.father != null) text += ", отец: " + this.father.name; if (this.mother != null) text += ", мать: " + this.mother.name; return text; }
Евгений10 уровень, Днепр
10 июля 2018, 19:25
Могу ... но все подряд как-то лень объяснять, пожалуйста конкретизируйте вопрос.
Александр Толкачёв22 уровень, Санкт-Петербург
20 августа 2018, 18:19
Тут просто собирается выходная строка по кусочкам. Переопределили базовый метод toString() класса Object, который выводит объект в виде строки.
Alexander Sedov28 уровень, Москва
4 июля 2018, 15:06
Прочитав задание резко так устал и пошёл спать на 3 часа, проснувшись понял что деваться некуда и вернулся решать задачу. Оказалось не так всё сложно и большая половина сложного кода уже реализована =))