String nameGroßVater = reader.readLine(); Katze KatzeGroßVater = new Katze(nameGroßVater); String nameGroßMutter = reader.readLine(); Katze KatzeGroßMutter = new Katze(nameGroßMutter); String nameVater = reader.readLine(); Katze KatzeVater = new Katze(nameVater, null, KatzeGroßVater); String nameMutter = reader.readLine(); Katze katzeMutter = new Katze(nameMutter, KatzeGroßMutter, null); String nameSohn = reader.readLine(); Katze KatzeSon = new Katze(nameSohn, katzeMutter, KatzeVater); String nameTochter = reader.readLine(); Katze katzeTochter = new Katze(nameTochter, katzeMutter, KatzeVater); System.out.println(KatzeGroßVater); System.out.println(KatzeGroßMutter); System.out.println(KatzeVater); System.out.println(katzeMutter); System.out.println(KatzeSon); System.out.println(katzeTochter); } public static class Katze { private String name; private Katze Father; private Katze Mother; Katze(String name) { this.name = name; } Katze(String name, Katze Mother, Katze Father) { this.name = name; this.Father = Father; this.Mother = Mother; } @Override public String toString() { if (Father == null && Mother == null) { return "Der Name der Katze ist " + name + ",keine Mutter, kein Vater"; } else if (Mother == null && Father != null) { return "Der Name der Katze ist " + name + ", keine Mutter," + Father.name + " ist der Vater"; } else if (Mother != null && Father == null) { return "Der Name der Katze ist " + name + "," + Mother.name + " ist die Mutter, kein vater"; } else { return "Der Name der Katze ist " + name + "," + Mother.name + " ist die Mutter," + Father.name + " ist der Vater"; } } } }