package com.javarush.test.level06.lesson11.bonus02;

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;

/* Нужно добавить в программу новую функциональность Задача: У каждой кошки есть имя и кошка-мама. Создать класс, который бы описывал данную ситуацию. Создать два объекта: кошку-дочь и кошку-маму. Вывести их на экран. Новая задача: У каждой кошки есть имя, кошка-папа и кошка-мама. Изменить класс Cat так, чтобы он мог описать данную ситуацию. Создать 6 объектов: дедушку(папин папа), бабушку(мамина мама), папу, маму, сына, дочь. Вывести их всех на экран в порядке: дедушка, бабушка, папа, мама, сын, дочь.

Пример ввода: дедушка Вася бабушка Мурка папа Котофей мама Василиса сын Мурчик дочь Пушинка

Пример вывода: Cat name is дедушка Вася, no mother, no father Cat name is бабушка Мурка, no mother, no father Cat name is папа Котофей, no mother, father is дедушка Вася Cat name is мама Василиса, mother is бабушка Мурка, no father Cat name is сын Мурчик, mother is мама Василиса, father is папа Котофей Cat name is дочь Пушинка, mother is мама Василиса, father is папа Котофей */

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, null, null);

    String grandmotherName = reader.readLine();
    Cat catGrandmother = new Cat(grandmotherName, null, null);

    String fatherName = reader.readLine();
    Cat catFather = new Cat(fatherName, catGrandfather, null);

    String motherName = reader.readLine();
    Cat catMother = new Cat(motherName, null, catGrandmother);

    String sonName = reader.readLine();
    Cat catSon = new Cat(sonName, catFather, catMother);

    String daughterName = reader.readLine();
    Cat catDaughter = new Cat(daughterName, catFather, catMother);

    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 father;
    private Cat mother;

    Cat(String name, Cat father, Cat mother)
    {
        this.name = name;
        this.father = father;
        this.mother = mother;
    }

    @Override
    public String toString()
    {
        if (mother == null && father == null)
            return "Cat name is " + name + ", no mother, no father";
        if (mother == null)
            return "Cat name is " + name + ", no mother, father is " + father.name;
        if (father == null)
            return "Cat name is " + name + ", mother is " + mother.name + ", no father";
        else
            return "Cat name is " + name + ", mother is " + mother.name + ", father is " + father.name;
    }
}

}

задан 14 Ноя '16, 05:06

%D0%94%D0%BC%D0%B8%D1%82%D1%80%D0%B8%D0%B91990's gravatar image

Дмитрий1990
1
одобрено: 0%

закрыто 13 Сен, 16:42

AndyRad's gravatar image

AndyRad
13.1k29

Частые вопросы

Про то, как надо ПРАВИЛЬНО оформлять и закрывать вопрос.

Чтобы файлы случайно не удалились и иметь возможность работать из разных мест установите это: https://disk.yandex.ru/invite/?hash=JQI8XD44

(14 Ноя '16, 05:12) Wardeng

Вопрос был закрыт по следующей причине: "Problem is not reproducible or outdated" AndyRad 13 Сен, 16:42


Попробуйте добавить ещё один конструктор: Cat(String name){name = name;}

И соответственно изменить ввод бабушки и дедушки.

ссылка

опубликован 14 Ноя '16, 05:15

Wardeng's gravatar image

Wardeng
3789
одобрено: 14%

изменено 14 Ноя '16, 05:16

Я писал разрабам об этой ошибке 31.10.16г. Но видимо, без толку.

(14 Ноя '16, 05:18) Wardeng

Спасибо тестирование прошло!)

ссылка

опубликован 14 Ноя '16, 06:10

%D0%94%D0%BC%D0%B8%D1%82%D1%80%D0%B8%D0%B91990's gravatar image

Дмитрий1990
1
одобрено: 0%

Самое лучшее спасибо будет если Вы прочитаете мою ссылку по поводу как открывать и закрывать вопрос)

(14 Ноя '16, 06:30) Wardeng

Следить за вопросом

По Email:

После авторизации вы сможете подписаться на любые обновления здесь

Основы Markdown

  • *italic* or _italic_
  • **bold** or __bold__
  • ссылка:[текст](http://url.com/ "заголовок")
  • изображение?![alt текст](/path/img.jpg "заголовок")
  • нумерованный список: 1. Foo 2. Bar
  • Для того чтобы добавить разрыв строки просто добавьте два пробела.
  • основные HTML тэги, также поддерживаются

Тэги:

×3,805
×1,628
×47
×26
×13

Задан: 14 Ноя '16, 05:06

Просмотров: 199 раз

Отредактирован: 13 Сен, 16:42