package com.javarush.task.task06.task0621; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /* Родственные связи кошек */ public class Solution { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String grandfatherName = reader.readLine(); Cat catGrandfather = new Cat(grandfatherName, null, null); String grandmotherName = reader.readLine(); Cat catGrandmother = new Cat(grandmotherName, null, null); String fatherName = reader.readLine(); Cat catFather = new Cat(fatherName, null, catGrandfather); String motherName = reader.readLine(); Cat catMother = new Cat(motherName, catGrandmother, null); String sonName = reader.readLine(); Cat catSon = new Cat(sonName, catMother, catFather); String daughterName = reader.readLine(); Cat catDaughter = new Cat(daughterName, catMother, catFather); System.out.println(grandfatherName); System.out.println(grandmotherName); System.out.println(fatherName); System.out.println(catMother); System.out.println(catDaughter); System.out.println(sonName); } public static class Cat { private String name; private Cat parent; private Cat parent2; Cat(String name, Cat parent, Cat parent2){ this.name = name; this.parent = parent; this.parent2 = parent2; } @Override public String toString() { if (parent == null && parent2 == null) return "Cat name is " + name + ", no mother no father"; else if (parent == null) return "Cat name is " + name + ", no mother, father is " + parent2.name; else if (parent2 == null) return "Cat name is " + name + ", mother is " + parent.name + " no father"; else return "Cat name is " + name + ", mother is " + parent.name + " father is " + parent2.name; } } } Виводит: бабушка Мурка папа Котофей Cat name is мама Василиса, mother is бабушка Мурка no father Cat name is дочь Пушинка, mother is мама Василиса father is папа Котофей сын Мурчик