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

  • 10
  • Недоступна
Попробуем создать программу для семейной переписи. Для этого пишем класс Human с полями имя(String), пол(boolean), возраст(int), отец(Human), мать(Human). Для тренировки создайте объекты и заполните их данные так, чтобы получилось два дедушки, две бабушки, отец, мать, трое детей. Выведите объекты на экран.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (344)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Михаил Никитюк 8 уровень, Харьков
14 января, 22:52
я вот не могу понять зачем в условии написано вот это Примечание: Если написать свой метод String toString() в классе Human, то именно он будет использоваться при выводе объекта на экран. если метод тустринг уже прописан!?!?!?!?
Viktor Balobanov 9 уровень, Ижевск
19 января, 14:53
это намек для тех кто непонимает для чего здесь toString(). кто пропустил тему переопределения методов
Natalia Ravaldini 8 уровень, Москва
10 января, 20:37
я сделала, причем с первой попытки, просто действуя по инструкции в условии, но я так и не поняла на каком этапе у нас дедушка с бабушкой прилепляются к родителям, если под них конструктора нет и в классе стринг там тоже нет воссоединения. натолкните на мысль, пожалуйста))
Михаил Никитюк 8 уровень, Харьков
14 января, 22:48
Дедушка и бабушка это родители твоих родителей , у каждого ребенка есть родители , твоя мама кому то дочка ,а твой отец это так же чей то сын! Этого конструктора достаточно что бы у твоих мамы и папы были родители
public Human(String name, boolean sex, int age, Human father, Human mother){
            this.name = name;
            this.sex = sex;
            this.age = age;
            this.father = father;
            this.mother = mother;

        }
у нас же не просят полную цепочку от внука к родителям внука, к родителям родителей внука! Написал как Кличко но думаю поймешь что я имел ввиду!
UVM 8 уровень
17 декабря 2020, 14:13
30 попыток из-за 52 строки!!! Слово mоther!!! Переписал в 52, появилась ошибка в 67!!! написал слово mоther скопировал и вставил в 52 и 67 и УРА прошло с первого раза.
Alexey 9 уровень, Москва
9 декабря 2020, 23:28
Не пойму в чем проблема...? Подскажите.
Alexey 9 уровень, Москва
9 декабря 2020, 23:34
Mef1328 Java Developer
15 декабря 2020, 06:32
Потому, что у тебя все объекты созданы через конструктор с 5 переменными и ты не выполнил условие. Проверить где создаются объекты легко, просто напиши в конструктор строку
System.out.println("создано через конструктор с 3(5) значениями");
и ты увидишь, что у тебя первые 4 объекта в конструктор с 3 переменными не заходят, что бы заработало убери null у родителей, по сути они там не нужны. у нас для этого и есть два конструктора что бы объект с 3 известными значениями мог создаться. PS перед валидацией не забудь убрать
System.out.println("создано через конструктор с 3(5) значениями");
PSS Дочь - daughter :)
Regina Bulanova 19 уровень, Рязань
6 декабря 2020, 11:24
Пожалуйста, объясните необходимость метода toString(). Я правильно понимаю, с его помощью мы преобразуем объект в текстовую форму? Но почему мы его нигде не используем? (Да и его нельзя использовать в main, он не static)...
Hardy 18 уровень, Белгородская обл.
16 декабря 2020, 21:31
Метод toString() применяется автоматически если ты отправляешь объект на печать. Попробуй в этом примере закоментировать метод toString() . Вместо текста : "Имя: Игорь, пол: мужской, возраст: 2, отец: Михаил, мать: Аня" Выдаст что то похожее на : Human@232204a1 Название класса и Хэш код. Допустим вот статейка на эту тему . https://www.internet-technologies.ru/articles/ispolzovanie-metoda-tostring-v-java.html
Dmitry Kuzmin 8 уровень, Москва
4 декабря 2020, 09:20
Отличная задача!
Тоник ремонт мобильной техники в FixiT-сервис
3 декабря 2020, 14:07
А как пол может быть boolean, если он мужской или женский, а не true и false? О_о Чёт я вообще повис на этой задачке... Забыл, видать
Тоник ремонт мобильной техники в FixiT-сервис
3 декабря 2020, 14:11
Понял. True - это у нас мужской, false - это женский.Спасибо комментам) Бессмысленно как-то, ну да ладно, продолжим...
Тоник ремонт мобильной техники в FixiT-сервис
3 декабря 2020, 14:13
Пхахахах XD haveDick == true ? "мужской" : "женский"
Виктор 16 уровень
26 ноября 2020, 15:15
1. В main создаем 9 объектов и сразу их инициализируем через конструктор: деды, бабки через первый, папы, мамы и дети через второй 2. Выводим объекты на экран 3. В классе Human создаем два конструктора (см. задание) 4. Метод toString() не трогаем. Там все уже написано.
Игорь Ходыко 20 уровень, Минск
25 ноября 2020, 12:31
Долго не мог понять в чем дело: не проходил Валидацию, хоть ответ и порядок решения был правильный. Оказалось, что объявил Boolean вместо boolean. Может кому-то поможет.
Inessa Программист 1С в Москоу))
26 ноября 2020, 10:25
Спасибо, помог. Тоже такая же ошибка была.
Laidah QA Automation Engineer
8 января, 12:42
CСпасибо тебе, добрый человек!!!!
iAmTheMoon 15 уровень, Санкт-Петербург
15 ноября 2020, 13:13
А еще выводить можно так: System.out.println(grandpa1 + "\n" + grandpa2 + "\n" + grandma1 + "\n" + grandma2 + "\n" + father + "\n" + mother + "\n" + child1 + "\n" + child2 + "\n" + child3); вместо 9 срок
Evgeny Vdovin 8 уровень
21 ноября 2020, 15:46
Проще и понятней будет создать массив, в вывести его через for each. Human[] arr = {grandpa1, grandpa2, grandma1,grandma2,father,mother,child1,child2,child3}; for (Human h:arr) { System.out.println(h);} Это если сначала создать людей. Но еще лучше Сначала объявить массив, потом создавать персонажей уже как элементы массива.