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

  • 10
  • Недоступна
Готовая задача: у кошки есть имя и кошка-мама. Создать класс, который это описывает. Создать два объекта: кошку-дочь и кошку-маму. Вывести их на экран. Новая задача: У каждой кошки есть имя, кот-папа и кошка-мама. Изменить Cat так, чтобы он мог описать эту ситуацию. Создать 6 объектов: дедушку (папин папа), бабушку (мамина мама), папу, маму, сына, дочь.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (635)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Алексей Perfomance Engineer в Bell Integrator
19 ноября, 14:55
Очень хорошая задача, но не вариативная, однако многое дала, я понял зачем и как переопределять методы, а заодно то, что в конструктор можно передать null =)
Ян
Уровень 13, Москва
18 октября, 06:16
Минут 20-30 пришлось повозиться. Завидую элегантному выводу в return с помощью СтрингБилдера + тернарный оператор. Я как бы понимаю что там о чём, да и пробовал так, но пока слабоват, не уверен в себе в этом моментике.
DmitryReg
Уровень 8, Россия
10 октября, 18:57
нда.. null блин. А так бы сам. Все строится аналогично готовому решению. комменты, спасибо вам!
IES
Уровень 11, Санкт-Петербург
28 сентября, 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 августа, 13:11
2 дня решал эту задачу (с перерывами конечно, но запарился конкретно). В общем, поделюсь с вами возможной ошибкой. У меня при компиляции происходила ошибка "Nullpointerexception", а происходила она из-за того, что я в методе toString в условии указал в условии проверку на наличие имени у объекта father / mother, то есть (father.name == null), что и вызывало ошибку. Вместо этого надо было просто проверять наличие самого объекта, то есть (father == null). Всё остальное можно решить по аналогии с уже решённой задачей, и с подсказками из нижних комментариев. Удачи
Сергей
Уровень 9, Каменск-Уральский, Россия
26 июня, 15:57
Спасибо за подсказку про null в конструкторе, в остальном получилось самому додуматься, мне понравилось)
piersto
Уровень 17, Montreal, Canada
15 июня, 01:33
"Родственные связи кошек" Вам удалось ее решить с 42 попытки. (И с 13-го уровня.) Но почему-то сейчас она мне показалась не такой уж и сложной. Написал код с нуля, на выводе увидел ошибку, исправил и отправил на проверку.
Дмитрий Макаренков
Уровень 8, Санкт-Петербург
10 июня, 20:12
Написал минут за 15-20 с первого раза, посмотрев как реализована задача на примере двух кошек, и остальное допетрил по аналогии. А вот первую hard-задачу (с ArrayList) из этого блока задач вообще решить не смог (не знал как инициализировать правильно) в итоге подсмотрел
Максим Белоусов
Уровень 18, Москва, Россия
9 июня, 19:57
Как думаете если hard задачи пропускать и потом к ним возвращаться как это повлияет на эффективность обучения. Думаю получится ли сэкономить время если отклыдывать hard задачи на потом?
Yakov Bashkurov
Уровень 14, Тобольск, Россия
14 июня, 14:07
время сэкономишь. На эффективность это повлияет: будешь меньше гуглить, а значит опыта гугления будет меньше; когда гуглишь вопрос, то натыкаешься на другую информацию и волей-не волей а запоминаешь ещё и её. я иду в лоб и пока не решу весь пул задач дальше не продвигаюсь. Кто-то оставляет трудные задачи на потом. Так что если тебе удобней будет оставлять трудные и потом возвращаться, то так и делай. ИМХО
piersto
Уровень 17, Montreal, Canada
15 июня, 01:30
Да, пропускай. Просто тупо иди вперёд. В какой-то момент закончится чёрная материя, тогда вернёшься к нерешённым задачам. И они буду решаться в 10-ть раз легче.
Максим Белоусов
Уровень 18, Москва, Россия
9 июня, 19:48
Пару часов на чтение статей по конструкторам чтобы вспомнить что полям можно присваивать null. Рука - лицо...
Balthazar Java Developer
18 июня, 13:44
случайно увидел твой коммент - как обухом по голове😬