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 grandpaName = reader.readLine();
    Cat catGrandpa = new Cat("дедушка" + grandpaName);

    String grandmaName = reader.readLine();
    Cat catGrandma = new Cat("бабушка" + grandmaName);

    String fatherName = reader.readLine();
    Cat catFather = new Cat("папа" + fatherName, catGrandpa);

    String motherName = reader.readLine();
    Cat catMother = new Cat("мама" + motherName, catGrandma);

    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(catGrandpa);
    System.out.println(catGrandma);
    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 firstParent;
    private Cat secondParent;

    Cat(String name)
    {
        this.name = name;
    }

    Cat(String name, Cat firstParent) {
        this.name = name;
        this.firstParent = firstParent;
    }
    Cat(String name, Cat firstParent, Cat secondParent){
        this.name = name;
        this.firstParent = firstParent;
        this.secondParent = secondParent;
    }

    @Override
    public String toString()
    {   CharSequence cs1 = "папа";
        CharSequence cs2 = "мама";
        if (firstParent == null && secondParent == null)
            return "Cat name is " + name + ", no mother " + ", no father";
        else if (firstParent != null && secondParent == null && name.contains(cs1))
            return "Cat name is " + name + ", no mother " + ", father is " + firstParent.name;
        else if (firstParent != null && secondParent == null && name.contains(cs2))
            return "Cat name is " + name + ", mother is" + firstParent.name + ", no father";
        else
            return "Cat name is " + name + ", mother is " + firstParent.name + ", father is "+ secondParent.name;
    }
}

}

задан 11 Окт '16, 13:28

MikhayloKoch01's gravatar image

MikhayloKoch01
165
одобрено: 0%

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

AndyRad's gravatar image

AndyRad
13.1k29

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


Это вы написали, или оно было изначально в коде?

@Override
public String toString()
{   CharSequence cs1 = "папа";
    CharSequence cs2 = "мама";
    if (firstParent == null && secondParent == null)
        return "Cat name is " + name + ", no mother " + ", no father";
    else if (firstParent != null && secondParent == null && name.contains(cs1))
        return "Cat name is " + name + ", no mother " + ", father is " + firstParent.name;
    else if (firstParent != null && secondParent == null && name.contains(cs2))
        return "Cat name is " + name + ", mother is" + firstParent.name + ", no father";
    else
        return "Cat name is " + name + ", mother is " + firstParent.name + ", father is "+ secondParent.name;
}
ссылка

опубликован 11 Окт '16, 13:56

_RomeSor22_'s gravatar image

_RomeSor22_
1.3k312
одобрено: 14%

вот из-за этого и не принимает Верните toString() в исходный вариант без Вашей самодеятельности

(13 Окт '16, 13:32) xcoder

я написал

(13 Окт '16, 10:15) MikhayloKoch01

И делайте по примеру вывода: ... Cat name is папа Котофей, no mother, father is дедушка Вася Cat name is мама Василиса, mother is бабушка Мурка, no father и т.д.

ссылка

опубликован 13 Окт '16, 14:04

kolloks's gravatar image

kolloks
262
одобрено: 66%

Cat catFather = new Cat(fatherName, catGrandpa, null); и тд

(14 Окт '16, 22:30) kolloks

Хм, что-то не понимаю вас. У меня так и получается..

(14 Окт '16, 15:10) MikhayloKoch01

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

По Email:

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

Основы Markdown

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

Тэги:

×677
×337
×300

Задан: 11 Окт '16, 13:28

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

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