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, catGrandfather);
String motherName = reader.readLine();
Cat catMother = new Cat(motherName,catGrandmother);
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 parent;
private Cat parent2; // i added another parent
Cat(String name) {
this.name = name;
}
Cat(String name, Cat parent) {
this.name = name;
this.parent = parent;
}
Cat(String name, Cat parent, Cat parent2) {// i added another constructor with two parents
this.name = name;
this.parent = parent;
this.parent2 = parent2;
}
@Override
public String toString() {
if (parent == null)
return "The cat's name is " + name + ", no mother, " + "no father";
else if(parent.name.equals("Grandfather Tiger"))
return "The cat's name is " + name + ", no mother, " + parent.name + " is the father";
else if(parent.name.equals("Grandmother Puss"))
return "The cat's name is " + name + ", " + parent.name + " is the mother, no father";
else
return "The cat's name is " + name + ", " + parent.name + " is the mother, " + parent2.name + " is the father";
}
}
}
package com.codegym.task.task06.task0621;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.sql.SQLOutput;
/*
New task: Each cat has a name, a father, and a mother.
Edit Cat so that it reflects these relationships.
Create 6 objects: grandfather (the father's father), grandmother (the mother's mother), father, mother, son, daughter.
Display them all in the following order: grandfather, grandmother, father, mother, son, daughter.
Grandfather Tiger
Grandmother Puss
Father Oscar
Mother Missy
Son Simba
Daughter Coco
Example output:
The cat's name is Grandfather Tiger, no mother, no father
The cat's name is Grandmother Puss, no mother, no father
The cat's name is Father Oscar, no mother, Grandfather Tiger is the father
The cat's name is Mother Missy, Grandmother Puss is the mother, no father
The cat's name is Son Simba, Mother Missy is the mother, Father Oscar is the father
The cat's name is Daughter Coco, Mother Missy is the mother, Father Oscar is the father
*/
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, catGrandfather);
String motherName = reader.readLine();
Cat catMother = new Cat(motherName,catGrandmother);
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 parent;
private Cat parent2;
Cat(String name) {
this.name = name;
}
Cat(String name, Cat parent) {
this.name = name;
this.parent = parent;
}
Cat(String name, Cat parent, Cat parent2) {
this.name = name;
this.parent = parent;
this.parent2 = parent2;
}
@Override
public String toString() {
if (parent == null)
return "The cat's name is " + name + ", no mother, " + "no father";
else if(parent.name.equals("Grandfather Tiger"))
return "The cat's name is " + name + ", no mother, " + parent.name + " is the father";
else if(parent.name.equals("Grandmother Puss"))
return "The cat's name is " + name + ", " + parent.name + " is the mother, no father";
else
return "The cat's name is " + name + ", " + parent.name + " is the mother, " + parent2.name + " is the father";
}
}
}
/*
Example output:
The cat's name is Grandfather Tiger, no mother, no father
The cat's name is Grandmother Puss, no mother, no father
The cat's name is Father Oscar, no mother, Grandfather Tiger is the father
The cat's name is Mother Missy, Grandmother Puss is the mother, no father
The cat's name is Son Simba, Mother Missy is the mother, Father Oscar is the father
The cat's name is Daughter Coco, Mother Missy is the mother, Father Oscar is the father
*/