Не выводятся данные о предках А.С. Пушкина (отец и мать), выводятся только имя, пол и возраст (год рождения). В чем может быть причина?
Вывод в консоль:
Имя: Лев Александрович ПУШКИН, пол: мужской, возраст: 1723
Имя: Ольга Васильевне ЧИЧЕРИНА, пол: женский, возраст: 1737
Имя: Осип Абрамович Ганнибал, пол: мужской, возраст: 1744
Имя: Мария Алексеевна ПУШКИНА, пол: женский, возраст: 1745
Имя: Сергей Львович ПУШКИН, пол: мужской, возраст: 1770
Имя: Надежда Осиповна ГАННИБАЛ, пол: женский, возраст: 1775
Имя: Александр Сергеевич ПУШКИН, пол: мужской, возраст: 1799
Имя: Лев Сергеевич ПУШКИН, пол: мужской, возраст: 1805
Имя: Ольга Сергеевна ПУШКИНА, пол: женский, возраст: 1797
Process finished with exit code 0
Код, который я написал:
public class Solution {
public static void main(String[] args) {
// напишите тут ваш код
// 5. Создай 9 разных объектов типа Human (4 объекта без отца и матери и 5 объектов с ними)).
Human human1 = new Human("Лев Александрович ПУШКИН", true, 1723);
Human human2 = new Human("Ольга Васильевне ЧИЧЕРИНА", false, 1737);
Human human3 = new Human("Осип Абрамович Ганнибал", true, 1744);
Human human4 = new Human("Мария Алексеевна ПУШКИНА", false, 1745);
Human human5 = new Human("Сергей Львович ПУШКИН", true, 1770, human1.father, human2.mother);
Human human6 = new Human("Надежда Осиповна ГАННИБАЛ", false, 1775, human3.father, human4.mother);
Human human7 = new Human("Александр Сергеевич ПУШКИН", true, 1799, human5.father, human6.mother);
Human human8 = new Human("Лев Сергеевич ПУШКИН", true, 1805, human5.father, human6.mother);
Human human9 = new Human("Ольга Сергеевна ПУШКИНА", false, 1797, human5.father, human6.mother);
System.out.println(human1.toString());
System.out.println(human2.toString());
System.out.println(human3.toString());
System.out.println(human4.toString());
System.out.println(human5.toString());
System.out.println(human6.toString());
System.out.println(human7.toString());
System.out.println(human8.toString());
System.out.println(human9.toString());
}
public static class Human {
// напишите тут ваш код
// 1. Программа не должна считывать данные с клавиатуры.
// 2. Добавить в класс Human поля: имя(String), пол(boolean), возраст(int), отец(Human), мать(Human).
String name;
Boolean sex;
int age;
Human father;
Human mother;
// 3. Добавить в класс конструктор public Human(String name, boolean sex, int age).
public Human (String name, boolean sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
// 4. Добавить в класс конструктор public Human(String name, boolean sex, int age, Human father, Human mother).
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;
}
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;
}
}
}