Co jest nie tak w tym przykładzie?
package pl.codegym.task.task08.task0824;
/*
Załóż rodzinę
*/
import java.util.ArrayList;
import java.util.stream.Stream;
public class Solution {
public static void main(String[] args) {
Ludzie babcia1 = new Ludzie("Zofia", false, 82);
Ludzie dziadek1 = new Ludzie("Mirosław", true, 82);
Ludzie babcia2 = new Ludzie("Barbara", false, 80);
Ludzie dziadek2 = new Ludzie("Stanisław", true, 80);
Ludzie ojciec = new Ludzie("Mieczysław", true, 57);
Ludzie matka = new Ludzie("Dorota", false, 57);
Ludzie dziecko = new Ludzie("Karol", true, 30);
Ludzie dziecko1 = new Ludzie("Maciek", true, 31);
Ludzie dziecko2 = new Ludzie("Karolina", false, 37);
babcia1.dzieci.add(matka);
dziadek1.dzieci.add(matka);
babcia2.dzieci.add(ojciec);
dziadek2.dzieci.add(ojciec);
ojciec.dzieci.add(dziecko1);
ojciec.dzieci.add(dziecko);
ojciec.dzieci.add(dziecko2);
matka.dzieci.add(dziecko);
matka.dzieci.add(dziecko1);
matka.dzieci.add(dziecko2);
Stream.of(dziadek1,babcia1,dziadek2,babcia2,ojciec,matka).forEach(System.out::println);
}
public static class Ludzie {
String imie;
boolean plec;
int wiek;
ArrayList<Ludzie> dzieci = new ArrayList<>();
public Ludzie(String imie, boolean plec, int wiek) {
this.imie = imie;
this.plec = plec;
this.wiek = wiek;
}
public String toString() {
String tekst = "";
tekst += "Imię: " + this.imie;
tekst += ", płeć: " + (this.plec ? "mężczyzna" : "kobieta");
tekst += ", wiek: " + this.wiek;
int licznikDzieci = this.dzieci.size();
if (licznikDzieci > 0) {
tekst += ", dzieci: " + this.dzieci.get(0).imie;
for (int i = 1; i <licznikDzieci; i++) {
Ludzie dziecko = this.dzieci.get(i);
tekst += ", " + dziecko.imie;
}
}
return tekst;
}
}
}