Что не так в моём решении? Вроде, всё проверила, но toString не отрабатывает. Какие-то иероглифы выводит. Что только не перепробовала - ничего не помогает. Выводит вот так:
Вывод
com.javarush.task.task07.task0724.Solution$Human@543c6f6d
com.javarush.task.task07.task0724.Solution$Human@13eb8acf
com.javarush.task.task07.task0724.Solution$Human@51c8530f
com.javarush.task.task07.task0724.Solution$Human@7403c468
com.javarush.task.task07.task0724.Solution$Human@43738a82
com.javarush.task.task07.task0724.Solution$Human@c81cdd1
com.javarush.task.task07.task0724.Solution$Human@1fc2b765
com.javarush.task.task07.task0724.Solution$Human@75881071
com.javarush.task.task07.task0724.Solution$Human@2a70a3d8
com.javarush.task.task07.task0724.Solution$Human@543c6f6d
package com.javarush.task.task07.task0724;
/*
Семейная перепись
*/
import java.util.ArrayList;
public class Solution {
//public static ArrayList<Human> human = new ArrayList<Human>();
public static void main(String[] args) {
// напишите тут ваш код
//ArrayList<Human> human = new ArrayList<Human>();
Human babAnya = new Human("Анна", false, 68);
Human dedIvan = new Human("Иван", true, 75);
Human dedPetya = new Human("Пётр", true, 90);
Human babMasha = new Human("Мария", false, 85);
Human mKatya = new Human("Екатерина", false, 50, dedIvan, babAnya);
Human pIgor = new Human("Игорь", true, 55, dedPetya, babMasha);
Human son1 = new Human("Сергей", true, 25, pIgor, mKatya);
Human doch1 = new Human("Светлана", false, 20, pIgor, mKatya);
Human son2 = new Human("Максим", true, 15, pIgor, mKatya);
//for (int i=0; i < human.size(); i++) System.out.println(human.get(i));
//System.out.println(Human.babAnya+"\n"+dedIvan+"\n"+dedPetya+"\n"+babMasha+"\n"+mKatya+"\n"+pIgor+"\n"+son1+"\n"+doch1+"\n"+son2);
//for(Human s : human)
// System.out.println(s);
System.out.println(son2.toString());
Human [] humans = new Human [] {babAnya, dedIvan, dedPetya, babMasha, mKatya, pIgor, son1, doch1, son2};
for (Human h: humans) {
System.out.println(h);
}
}
public static class Human {
// напишите тут ваш код
String name;
boolean sex;
int age;
Human father;
Human mother;
//public static ArrayList<Human> list = new ArrayList<>();
public Human (String name, boolean sex, int age) {
this.name=name;
this.sex=sex;
this.age=age;
//Human human;
//human.add(Human.this);
//System.out.println(toString());
}
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;
//human.add(Human.this);
//System.out.println(toString());
}
public String toString(String name, boolean sex, int age, Human father, Human mother) {
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;
}
}
}