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, 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;
/* private Cat grandparent;
private Cat grandparent2;*/
//Для стариков
Cat(String name) {
this.name = name;
}
/* Cat(String name, Cat grandparent) {
this.name = name;
this.grandparent = grandparent;
}
Cat(String name, Cat grandparent2) {
this.name = name;
this.grandparent2 = grandparent2;
}*/
//Для родичей
Cat(String name, Cat parent) {
this.name = name;
this.parent = parent;
}
/* Cat(String name, Cat parent2) {
this.name = name;
this.parent2 = parent2;
}*/
//Для детей
Cat(String name, Cat parent, Cat parent2) {
this.name = name;
this.parent = parent;
this.parent2 = parent2;
}
@Override
public String toString() {
if (parent == null && parent2 == null )
return "The cat's name is " + name + ", no mother, no father ";//для бабушки и дедушки
if (parent != null && parent2 == null)
return "The cat's name is " + name + ", no mother, father is " + parent.name;//для папы
if (parent2 != null && parent == null)
return "The cat's name is " + name + ", mother is " + parent2.name + ", no father";// для мамы
else
return "The cat's name is " + name + ", mother is " + parent.name + ", father is " + parent2.name;//для детишек
}
}
}
/*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 motherName = reader.readLine();
Cat catMother = new Cat(motherName);
String daughterName = reader.readLine();
Cat catDaughter = new Cat(daughterName, catMother);
System.out.println(catMother);
System.out.println(catDaughter);
}
public static class Cat {
private String name;
private Cat parent;
Cat(String name) {
this.name = name;
}
Cat(String name, Cat parent) {
this.name = name;
this.parent = parent;
}
@Override
public String toString() {
if (parent == null)
return "The cat's name is " + name + ", no mother ";
else
return "The cat's name is " + name + ", mother is " + parent.name;
}
}
}
*/
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, 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;
/* private Cat grandparent;
private Cat grandparent2;*/
//Для стариков
Cat(String name) {
this.name = name;
}
/* Cat(String name, Cat grandparent) {
this.name = name;
this.grandparent = grandparent;
}
Cat(String name, Cat grandparent2) {
this.name = name;
this.grandparent2 = grandparent2;
}*/
//Для родичей
Cat(String name, Cat parent) {
this.name = name;
this.parent = parent;
}
/* Cat(String name, Cat parent2) {
this.name = name;
this.parent2 = parent2;
}*/
//Для детей
Cat(String name, Cat parent, Cat parent2) {
this.name = name;
this.parent = parent;
this.parent2 = parent2;
}
@Override
public String toString() {
if (parent == null && parent2 == null )
return "The cat's name is " + name + ", no mother, no father ";//для бабушки и дедушки
if (parent != null && parent2 == null)
return "The cat's name is " + name + ", no mother, father is " + parent.name;//для папы
if (parent2 != null && parent == null)
return "The cat's name is " + name + ", mother is " + parent2.name + ", no father";// для мамы
else
return "The cat's name is " + name + ", mother is " + parent.name + ", father is " + parent2.name;//для детишек
}
}
}
/* Родственные связи кошек
Задача: У каждой кошки есть имя и кошка-мама.
Создать класс, который бы описывал данную ситуацию.
Создать два объекта: кошку-дочь и кошку-маму.
Вывести их на экран.
Новая задача: У каждой кошки есть имя, кошка-папа и кошка-мама.
Изменить класс Cat так, чтобы он мог описать данную ситуацию.
Создать 6 объектов: дедушку (папин папа), бабушку (мамина мама), папу, маму, сына, дочь.
Вывести их всех на экран в порядке: дедушка, бабушка, папа, мама, сын, дочь.
Пример ввода:
дедушка Вася
бабушка Мурка
папа Котофей
мама Василиса
сын Мурчик
дочь Пушинка
Пример вывода:
The cat's name is дедушка Вася, no mother, no father
The cat's name is бабушка Мурка, no mother, no father
The cat's name is папа Котофей, no mother, father is дедушка Вася
The cat's name is мама Василиса, mother is бабушка Мурка, no father
The cat's name is сын Мурчик, mother is мама Василиса, father is папа Котофей
The cat's name is дочь Пушинка, mother is мама Василиса, father is папа Котофей
Требования:
1. Программа должна считывать имена 6 котов в указанном порядке.
2. Метод main должен создавать 6 объектов типа Cat.
3. Программа должна выводить 6 строк с информацией о котах.
4. Строка про дедушку (первая) должна соответствовать условию.
5. Строка про бабушку (вторая) должна соответствовать условию.
6. Строка про папу (третья) должна соответствовать условию.
7. Строка про маму (четвертая) должна соответствовать условию.
8. Строка про сына (пятая) должна соответствовать условию.
9. Строка про дочь (шестая) должна соответствовать условию.*/