Nie do końca rozumiem to zadanie. Myślę, że 1 i 2 warunek jest spełniony (lub 2 warunek w 50%), nie wiem przejść warunek 3.
👍 1. Utwórz klasę Ludzie z polami String imie, boolean plec, int wiek i ArrayList<Ludzie> dzieci.
👍👎? 2. Utwórz i zapełnij obiekty tak, żeby otrzymać: dwóch dziadków, dwie babcie, jednego ojca, jedną matkę i troje dzieci.
👎 3. Wyświetl wszystkie obiekty Ludzie (Wskazówka: użyj metody klasy Ludzie toString().
Podglądałem rozwiązania innych i większość osób podchodzi do tego zadania jak do drzewa genealogicznego, czyli zaliczają ojca i matkę jako dzieci dziadków. Wydaje mi się, że nie jest to potrzebne. Mamy wyświetlić dziadków, rodziców, dzieci. Chyba że jestem w błędzie i mamy tutaj przedstawić powiązania rodzinne jak to robili inni. ...
Jakie dane ma przechowywać ArrayList? Czy mają to być obiekty <Ludzie>? Więc jak je dodać obiekty dziecko1, dziecko2, dziecko3? W linii 22-24 metoda main nie rozpoznaje ArrayList dzieci.
I jak wyświetlić obiekty?
W metodzie toString() jest zmienna licznik, która chyba na podstawie dodanego obiektu "dziecko1" do listy dzieci, zlicza ile dzieci zostało dodanych.... i w sumie gdzie te dzieci zostaną wyświetlone w postaci liczby czy imion dodanych do ojca i matki dla każdego rodzica równolegle?
package pl.codegym.task.task08.task0824;
/*
Załóż rodzinę
*/
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) {
//tutaj wpisz swój kod
Ludzie babcia1 = new Ludzie("Marta", false, 70);
Ludzie dziadek1 = new Ludzie("Stefan" ,true, 78);
Ludzie babcia2 = new Ludzie("Zofia", false, 67);
Ludzie dziadek2 = new Ludzie("Jeży", true, 80);
Ludzie ojciec = new Ludzie("Marek",true, 45);
Ludzie matka = new Ludzie("Sabina", false, 40);
Ludzie dziecko1 = new Ludzie("Zofia", false, 10);
Ludzie dziecko2 = new Ludzie("Anna", false,13);
Ludzie dziecko3 = new Ludzie("Kuba", true, 8);
dzieci.add(dziecko1);
dzieci.add(dziecko2);
dzieci.add(dziecko3);
//System.out.println(tekst); // print Ludzie
//Ludzie.toString();
//for (int x : Ludzie) {
// System.out.println(x);
//System.out.println(babcia1);
}
}
public static class Ludzie {
//tutaj wpisz swój kod
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;
}
}
}