Строка про сына (пятая) должна соответствовать условию.
Строка про дочь (шестая) должна соответствовать условию.
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 catGrandFatherName = reader.readLine ();
Cat catGrandFather = new Cat (catGrandFatherName);
String catGrandMotherName = reader.readLine ();
Cat catGrandMother = new Cat (catGrandMotherName);
String catFatherName = reader.readLine ();
Cat catFather = new Cat (catFatherName, catGrandFather, null);
String catMotherName = reader.readLine ();
Cat catMother = new Cat (catMotherName, null, catGrandMother);
String catSonName = reader.readLine ();
Cat catSon = new Cat (catSonName, catFather, catMother);
String catDaughterName = reader.readLine ();
Cat catDaughter = new Cat (catDaughterName, catFather, catMother);
System.out.println (catGrandFather.toString ());
System.out.println (catGrandMother.toString ());
System.out.println (catFather.toString ());
System.out.println (catMother.toString ());
System.out.println (catSon.toString ());
System.out.println (catDaughter.toString ());
}
public static class Cat {
private String name;
private Cat parentMother;
private Cat parentFather;
Cat() {
}
Cat(String name) {
this.name = name;
}
Cat(String name, Cat parentFather) {
this.name = name;
this.parentFather = parentFather;
}
Cat(String name, Cat parentFather, Cat parentMother) {
this.name = name;
this.parentFather = parentFather;
this.parentMother = parentMother;
}
/*Cat(String name, Cat parentMother, Cat parentFather) {
this.name = name;
this.parentFather = parentFather;
this.parentMother = parentMother;
}*/
@Override
public String toString() {
if (parentMother == null && parentFather == null) {
return "The cat's name is " + name + ", no mother, no father ";
} else if (parentFather != null) {
return "The cat's name is " + name + ", no mother, father is " + parentFather.name;
} else if (parentMother != null) {
return "The cat's name is " + name + ", mother is " + parentMother.name + " no father";
} else if (parentFather != null && parentMother != null) {
return "The cat's name is " + name + ", mother is " + parentMother.name + ", father is " + parentFather;
} else
return null;
}
}
}