То ли птица, то ли лампа

  • 3
  • Недоступна
Что общего у птицы и лампы? То, что и птицы, и лампы могут быть объектами своих классов. А объекты можно передавать в методы в качестве переменных. В этой задаче пишем метод, который определяет, объект какого класса ему передали, и выводит на экран одну из надписей: Кошка, Собака, Птица, Лампа.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (154)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Blynchik Работает в Pegas Touristik
17 мая, 06:35
Айбелив Айкенфлаев
Уровень 28, Москва, Россия
9 апреля, 14:02
"Ошибка в файле com/javarush/task/task12/task1204/Solution.java в строке : 19 Отсутствует объявление класса, интерфейса или enum-а" Вот строка 19:
case ("Cat") -> System.out.println("Кошка");
У меня всё компилируется и работает. На сервере Java 8 используется?
Роман
Уровень 27, Майкоп, Россия
27 апреля, 12:34
Аналогичная проблема.
Андрей
Уровень 18
25 января, 09:27
"выводит на экран одну из надписей" вот я из за этого час решал задачу, думал что то одно должно выводить, а должно "Кошка, Собака, Птица, Лампа." просто с новой строки.
Aleksei Reinsalu
Уровень 19, Таллинн, Эстония
30 ноября 2021, 23:27
Кирилл отжег с try catch и приведением типов :) Надо же до таких мелочей помнить как try catch работает.
Сергей Коваленко
Уровень 37, Краснодар
15 декабря 2021, 13:34
видно, что старался )
Sergey
Уровень 12, Анапа, Россия
19 ноября 2021, 20:00
Совершенно не знал что можно через "instanceof " вместо этого перебирал методы Object и наткнулся на getClass().getSimpleName(), начал делать if-ы, потом подумал - "Да ну их". после сделал через HashMap. И тут зашел посмотреть есть такие из..... кто решил как я, а тут пруд пруди вариантов))
Кирилл Козлов
Уровень 35, Москва, Россия
3 октября 2021, 10:00
Решил с помощью try catch и приведения типов
try {
          Cat cat = (Cat) o;
          System.out.println("Кошка");
      } catch (Exception e){

      }
Александр Горохов
Уровень 23, Дятьково, Россия
2 октября 2021, 08:01
Обратите внимание, что !Лампа.equals(Лама) 😁
Дмитрий System Engineer
19 мая 2021, 10:27
Отличная возможность почитать про switch-case, а также узнать о том, что у каждого класса есть предопределённые методы, например, позволяющие получить его имя в строковом формате. Вариант решения:
String objectClassName = o.getClass().getSimpleName();
switch (objectClassName) {
     case ("Dog"): System.out.println("Собака"); break;
     case ("Cat"): System.out.println("Кошка"); break;
     case ("Bird"): System.out.println("Птица"); break;
     case ("Lamp"): System.out.println("Лампа"); break;
     default: System.out.println("Такого класса нет");
}
Валерий Backend Developer в Mriya Resort&Spa
16 октября 2021, 12:34
Да, зашел в комментарии для того, чтобы посмотреть как это свитчем решить)
Александр
Уровень 41, Санкт-Петербург
22 апреля 2021, 12:10
Удалось решить на if-aх с помощью getClass)
Василий training в NIX Solutions
1 апреля 2021, 09:50
if (o instanceof Dog)
потом вывод на экран соответствующую надпись