package com.codegym.task.task06.task0621; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /* Cat relations */ 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); String grandMotherName = reader.readLine(); Cat catGrandmother = new Cat(grandMotherName); String fatherName = reader.readLine(); Cat catFather = new Cat(fatherName, catGrandFather, true); String motherName = reader.readLine(); Cat catMother = new Cat(motherName, catGrandmother, false); String daughterName = reader.readLine(); Cat catDaughter = new Cat(daughterName, catMother, catFather); String sonName = reader.readLine(); Cat catSon = new Cat(sonName, catMother, catFather); System.out.println(catGrandFather); System.out.println(catGrandmother); System.out.println(catFather); System.out.println(catMother); System.out.println(catSon); System.out.println(catDaughter); } public static class Cat { private String name; private Cat parent; private Cat parent2; private boolean parentSex; Cat(String name) { this.name = name; } Cat(String name, Cat parent, boolean parentSex) { this.name = name; this.parent = parent; this.parentSex = parentSex; } 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 "The cat's name is " + name + ", " + parent.name + " is the mother, " + parent2.name + " is the father"; else if ((parent == null) && (parent2 == null)) return "The cat's name is " + name + ", no mother, no father"; else if (parent != null && parentSex == false) return "The cat's name is " + name + ", " + parent.name + " is the mother," + " no father" ; else if (parent != null && parentSex == true) return "The cat's name is " + name + ", no mother, " + parent.name + " is the father"; else if (parent != null && parent2 != null) return "The cat's name is " + name + ", " + parent.name + " is the mother, " + parent2.name + " is the father"; else { return null; } } } }