Посетители

  • 7
  • Недоступна
В террианский зоопарк прибыла группа туристов с планеты Талли. Оказалось, что в заведении все таблички с названиями были украдены роботами, нуждающимися в металле для лечения. Простим роботов, но напишем метод, который определяет, какой объект в него передали (кот, лев, тигр, бык, корова или просто животное).
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (199)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Роман мастер-энергетик
24 июня, 12:15
Решил совсем по другому, но мало ли
if (o instanceof Cat && !(o instanceof Tiger) && !(o instanceof Lion)) {
            return "Кот";
Получается исключил попадание не нужных классов в проверку, так -то сработало и засчитало
Alexey Hehnev
Уровень 13, Санкт-Петербург, Russian Federation
16 июня, 16:45
Всем привет! Ребята, всё просто. В задании дают подсказку: постарайся определять тип животного как можно более точно. 1. У каждого объекта есть метод getClass() - return тип класса. 2. Сравниваем полученный класс с нашими. Удачи!!!!
01000101
Уровень 33, Минск, Belarus
11 мая, 11:06
public String getType() {
    return super.getType() + ".Кот";
}
В задаче попросили определять тип как можно более точно. Но вот так почему-то неправильно.
Anonymous #3036451
Уровень 27, Falls Church, United States
19 апреля, 13:23
o.getClass().equals(Cat.class)
jjsttk
Уровень 25, Самара, Россия
2 апреля, 11:22
Оказалось, что порядок имеет значение:)
Alex
Уровень 25, Москва, Россия
8 апреля, 10:32
=)) чтобы этого избежать конкретизировал имя класса через конструкцию:
(o.getClass().getSimpleName().equals("Cat"))
Rylero
Уровень 29, Москва, Russian Federation
25 марта, 10:24
Переопределил toString, чтобы возвращал имя класса. А решение, основывающееся на порядке следования условий в if, кажется сомнительным с точки зрения архитектуры/дизайна кода
Artem Sokolov Android Developer в Oracle
19 марта, 19:18
Один из коллег в более ранней задаче подсказал способ через String getObjectType = o.getClass().getSimpleName(); и switch
Erizo
Уровень 23, Минск, Belarus
18 марта, 11:31
Есть вопрос. Не сразу вспомнил, что тут важен порядок сравнения типов, поэтому решение усложнил. И не до конца понял то, что написал) Tiger.class.toString() сравниваю с o.getClass().toString(). Но что такое Tiger.class? И что именно возвращает getClass()?
Alex
Уровень 25, Москва, Россия
8 апреля, 10:34
вот мой вариант проверки условия (получаем класс.получаем имя класса.сравниваем):
(o.getClass().getSimpleName().equals("Cat"))
Олег Мартынов
Уровень 30, Москва, Россия
3 марта, 20:39
важен только порядок определения, кота ставим в конец цикла if-else
ALexey Mukhataev
Уровень 28, Russian Federation
8 апреля, 10:02
почему if-else - цикл?
Domingo el Sumeri
Уровень 13, Екатеринбург
15 февраля, 16:52
Использую HashMap if (animal.containsKey(o.getClass().getSimpleName())