Program działa i wyświetla wszystko, ale nie wiem czemu nie spełnia jednego warunku( linia trzecia dotyczącą ojca).
package pl.codegym.task.task06.task0621;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
Relacje między kotami
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String imieDziadka = reader.readLine();
Kot kotDziadek = new Kot(imieDziadka);
String imieBabcia = reader.readLine();
Kot kotBabci = new Kot(imieBabcia);
String imieOjca = reader.readLine();
Kot kotOjca = new Kot(imieOjca,null, kotDziadek );
String imieMatki = reader.readLine();
Kot kotMatka = new Kot(imieMatki, kotBabci, null);
String imieSyna = reader.readLine();
Kot kotSyna = new Kot(imieSyna, kotMatka, kotOjca);
String imieCorki = reader.readLine();
Kot kotCorka = new Kot(imieCorki, kotMatka, kotOjca);
System.out.println(kotDziadek);
System.out.println(kotBabci);
System.out.println(kotOjca);
System.out.println(kotMatka);
System.out.println(kotSyna);
System.out.println(kotCorka);
}
public static class Kot {
private String imie;
private Kot matka;
private Kot ojciec;
Kot(String imie) {
this.imie = imie;
}
Kot(String imie, Kot matka) {
this.imie = imie;
this.matka = matka;
}
Kot(String imie, Kot matka, Kot ojciec) {
this.imie = imie;
this.matka = matka;
this.ojciec = ojciec;
}
@Override
public String toString() {
if (matka == null && ojciec ==null )
return "Imię kota to " + imie + ", brak matki,brak ojca";
else if(matka == null && ojciec!=null)
return "Imię kota to " + imie + " , brak matki , " + ojciec.imie + " to ojcie";
else if(matka != null && ojciec==null)
return "Imię kota to " + imie + ", " + matka.imie + " to matka, brak ojca";
else
return "Imię kota to " + imie + ", " + matka.imie + " to matka, "+ojciec.imie+" to ojciec";
}
}
}