над задачей второй день бьюсь.
Первый раз сделал ее через 3 стринговые переменные. Вывод на экран был верный но решение не зачлось.
Теперь пытаюсь сделать именно по аналогии с примером.
и не понимаю почему не отрабатывает условие toString else if (parent1 != null).
ведь вроде все правильно " Cat catFather = new Cat(fatherName,null, catGrandfather) " - cat.Gramdfather это parent1 и это не ноль. поэтому условие должно отрабатывать, а отрабатывает исключение.
помогите плзззз.
хотябы намекните что не так.
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);
String grandmotherName = reader.readLine();
Cat catGrandmother = new Cat(grandmotherName);
String fatherName = reader.readLine();
Cat catFather = new Cat(fatherName,null, catGrandfather);
System.out.println(catGrandfather);
System.out.println(catGrandmother);
System.out.println(catFather);
}
public static class Cat {
private String name;
private Cat parent;
private Cat parent1;
Cat(String name) {
this.name = name;
}
Cat(String name, Cat parent, Cat parent1) {
this.name = name;
this.parent = parent;
this.parent = parent1;
}
@Override
public String toString() {
if (parent == null && parent1 == null)
return "The cat's name is " + name + ", no mother, no father";
else if (parent1 != null)
return "The cat's name is " + name + ", no mother" + ", father is" + parent1.name;
else return "hz chto";
}
}
}