• ,

level06.lesson11.bonus02

Подскажите, пожалуйста, в чем проблема. Все темы уже перечитал, вроде все косяки исправил, но тестирование не проходит. Из принципа уже хочется решить.

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

import java.io.IOException;

/* Нужно добавить в программу новую функциональность
Задача: У каждой кошки есть имя и кошка-мама. Создать класс, который бы описывал данную ситуацию. Создать два объекта: кошку-дочь и кошку-маму. Вывести их на экран.
Новая задача: У каждой кошки есть имя, кошка-папа и кошка-мама. Изменить класс 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
    {
        Cat catGrandfather = new Cat("дедушка Вася", null, null);
        Cat catGrandmother = new Cat("бабушка Мурка", null, null);
        Cat catFather = new Cat("папа Котофей", catGrandfather, null);
        Cat catMother = new Cat("мама Василиса", null, catGrandmother);
        Cat catSon = new Cat("сын Мурчик", catFather, catMother);
        Cat catDaughter = new Cat("дочь Пушинка", 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 (father == null && mother == null)
            {
                return "Cat name is " + name + ", no mother" + ", no father";
            }
            else if (mother == null)
            {
                return "Cat name is " + name + ", no mother" + ", father is " + father.name;
            }
            else 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;
            }
        }
    }

}

6 комментариев

Yol
  • Yol
  • +1
Cat catGrandfather = new Cat(«дедушка Вася»);
Cat catGrandmother = new Cat(«бабушка Мурка»;
cobalt
Пробовал, не помогает. Сейчас еще раз попробовал — не помогло.
Yol
  • Yol
  • +1
  • Комментарий отредактирован 2015-03-30 23:11:44 пользователем Yol
я ещё делал через ввод имен, с помощью BufferedReader. тебе вводить нужно имена, там же так и написано Пример ввода:
дедушка Вася
бабушка Мурка
папа Котофей
мама Василиса
сын Мурчик
дочь Пушинка
cobalt
Спасибо, помогло. Изначально делал через ввод имен, потом начитался здесь и исправил. Как видно, зря) Еще раз спасибо!
pele73
не так просто в початковому варіанті задачі імпортовані бібліотеки java.io.BufferedReader та java.io.InputStreamReader.
Спробуй ввести імена котів через:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String grandFatherName = reader.readLine();
Cat catGrandfather = new Cat(grandFatherName, null, null);
cobalt
Спасибо, помогло. Изначально делал через ввод имен, потом начитался здесь и исправил. Как видно, зря) Еще раз спасибо!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.