Родственные связи кошек

  • 10
  • Недоступна
Готовая задача: у кошки есть имя и кошка-мама. Создать класс, который это описывает. Создать два объекта: кошку-дочь и кошку-маму. Вывести их на экран. Новая задача: У каждой кошки есть имя, кот-папа и кошка-мама. Изменить Cat так, чтобы он мог описать эту ситуацию. Создать 6 объектов: дедушку (папин папа), бабушку (мамина мама), папу, маму, сына, дочь.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (640)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Mera
Уровень 7
25 февраля, 08:16
На конец-то, что за задача, пришлось подсмотреть
Даниил 1C developer
14 февраля, 20:50
создание 6 котов в цикле, присваивание в одну переменную, валидатор не пропускает.
Александр Сидоренко
Уровень 10, Днепр
12 февраля, 12:31
Удивляюсь, каким чудом я решил эту задачу, всего раз подглянув в обсуждения, где увидел что надо Null подставлять для полусирот.
Sara Kerrigan
Уровень 7, Москва
28 января, 21:42
В ходе первичного осмотра было вообще непонятно, как живёт эта конструкция, почему имя переменной == имя класса? ------------------ в ходе решения эта фигня была успешно заменена на 2 перменные father и mother, но осадочек тотального непонимания остался
Тимур
Уровень 15, Махачкала, Россия
8 января, 13:37
Во время решения не догадался добавить null в конструктор. Вместо этого создал несколько конструкторов: Cat (String name, Cat mother) и Cat (Cat father, String name), дабы перегрузкой отличать маму от папы. Валидатор принял.
Алексей Perfomance Engineer
19 ноября 2021, 14:55
Очень хорошая задача, но не вариативная, однако многое дала, я понял зачем и как переопределять методы, а заодно то, что в конструктор можно передать null =)
Ян
Уровень 22, Москва
18 октября 2021, 06:16
Минут 20-30 пришлось повозиться. Завидую элегантному выводу в return с помощью СтрингБилдера + тернарный оператор. Я как бы понимаю что там о чём, да и пробовал так, но пока слабоват, не уверен в себе в этом моментике.
DmitryReg
Уровень 9, Россия
10 октября 2021, 18:57
нда.. null блин. А так бы сам. Все строится аналогично готовому решению. комменты, спасибо вам!
IES
Уровень 11, Санкт-Петербург
28 сентября 2021, 17:36
return new StringBuilder("The cat's name is " + name + ", ")
    .append(mom == null ? "no mother, " : "mother is " + getMomsName(mother) + ", ")
    .append(dad == null ? "no father" : "father is " + getDadsName(father))
    .toString();
Naryuk
Уровень 11, Казахстан
16 августа 2021, 13:11
2 дня решал эту задачу (с перерывами конечно, но запарился конкретно). В общем, поделюсь с вами возможной ошибкой. У меня при компиляции происходила ошибка "Nullpointerexception", а происходила она из-за того, что я в методе toString в условии указал в условии проверку на наличие имени у объекта father / mother, то есть (father.name == null), что и вызывало ошибку. Вместо этого надо было просто проверять наличие самого объекта, то есть (father == null). Всё остальное можно решить по аналогии с уже решённой задачей, и с подсказками из нижних комментариев. Удачи