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);
String motherName = reader.readLine();
Cat catMother = new Cat(motherName,catGrandmother,null);
String sonName = reader.readLine();
Cat catSon = new Cat(sonName,catMother,catFather);
String daughterName = reader.readLine();
Cat catDaughter = new Cat(daughterName, 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 mother;
private Cat father;
Cat(String name) {
this.name = name;
}
Cat(String name,Cat mother, Cat father) {
this.name = name;
this.father = father;
this.mother = mother;
}
@Override
public String toString() {
if (mother == null && father == null)
return "The cat's name is " + name + ", no mother, no father";
else if(mother == null)
return "The cat's name is " + name + ", no mother, " + father.name + " is the father";
else if(father == null)
return "The cat's name is " + name +", "+ mother.name + " is the mother "+", no father" ;
else
return "The cat's name is " + name +", "+ mother.name + " is the mother, "+father.name + " is the father";
}
}
}
private Cat mother; private Cat father; can anyone explain these two lines. although i solved this problem. i have a bit confusion.
Under discussion
Comments (1)
- Popular
- New
- Old
You must be signed in to leave a comment
Przemysław Dr
9 August 2019, 22:54useful
Hi,
private Cat father (or mother) are the fields of the Cat class. It's just like field name. The DIfference is that name is String type and father is Cat type.
Thanks to this You can add another Cat object as a parent.
Reference of the father variable will point to another Cat which could also have references to Cat parents.
+1