After debugging, I noticed that line 79 is never called. Obviously when I build a '' mereChat '' the if line 59 does not work (but seems to work in the other cases)?
package fr.codegym.task.task06.task0621;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
Relations avec les chats
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader saisie = new BufferedReader(new InputStreamReader(System.in));
/*----------------------GRAND-PARENTS--------------------*/
String nomGranPa = saisie.readLine();
Chat GranPaChat = new Chat(nomGranPa, true);
String nomGranMa = saisie.readLine();
Chat GranMaChat = new Chat(nomGranMa, false);
/*-----------------------PARENTS--------------------------*/
String nomPapa = saisie.readLine();
Chat papaChat = new Chat(nomPapa, true, GranPaChat);
String nomMere = saisie.readLine();
Chat mereChat = new Chat(nomMere, false, GranMaChat);
/*-----------------------ENFANTS--------------------------*/
String nomFils = saisie.readLine();
Chat filsChat = new Chat(nomFils, true, mereChat, papaChat);
String nomFille = saisie.readLine();
Chat filleChat = new Chat(nomFille, false, mereChat, papaChat);
/*-----------------------LES-PRINTS------------------------*/
System.out.println(GranPaChat);
System.out.println(GranMaChat);
System.out.println(papaChat);
System.out.println(mereChat);
System.out.println(filsChat);
System.out.println(filleChat);
}
/*--------------------CLASSE CHAT---------------------------*/
public static class Chat {
private String nom;
private Chat pere;
private Chat mere;
private boolean sexe;
Chat(String nom, boolean sexe) {
this.nom = nom;
this.sexe = sexe;
}
Chat(String nom, boolean sexe, Chat parent) {
this.nom = nom;
this.sexe = sexe;
if (sexe = true){
this.pere = parent;
} else {
this.mere = parent;
}
}
Chat(String nom, boolean sexe, Chat mere, Chat pere){
this.nom = nom;
this.sexe = sexe;
this.mere = mere;
this.pere = pere;
}
@Override
public String toString() {
if (mere == null && pere == null) {
return "Le nom du chat est " + nom + ", pas de mère, pas de père";
} else if (pere == null) {
return "Le nom du chat est " + nom + ", " + mere.nom + " est sa mère, pas de père"+pere.nom; //missy
} else if (mere == null) {
return "Le nom du chat est " + nom + ", pas de mère, " + pere.nom + " est son père"; //oscar
} else {
return "Le nom du chat est " + nom + ", " + mere.nom + " est sa mère, " + pere.nom + " est son père";
}
}
}
}