Статические коты

  • 10
  • Недоступна
Статический кот — всем котам кот. Поэтому в этой задаче в классе Cat добавляем статическую переменную cats. Пусть при каждом создании кота (нового объекта Cat) в переменную cats добавляется этот новый кот. Нам нужно создать 10 объектов Cat, а затем метод printCats должен выводить всех котов на экран.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (478)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Иван
Уровень 7, Новосибирск
17 сентября, 15:35
Потратил много времени на всю эту лабуду, ради 2-х строчек
for(int i = 0; i < sizeCat; i++)
          Cat.cats.add(new Cat())
юрий
Уровень 11, Минск, Беларусь
16 июля, 11:03
Потешная задача 6го уровня, но использующая элементы середины 7го, ну такое себе...
Рустем Дегенов
Уровень 7, Москва, Россия
29 июля, 15:54
Первый раз на курсе отложил задачу на потом. До этого задачи вполне решались тем объемом знаний, что уже был получен.
Дима
Уровень 9, Новая Каховка, Украина
26 июня, 17:59
https://javarush.ru/groups/posts/klass-arraylist?post=full#discussion Перед решением прочитай это) Мне помогло)
Антон
Уровень 6, Киев
23 июня, 15:11
У кого вибиває 3 помилку, підказка в умові завдання. Який саме конструктор використовувати.
Станислав Корнеев
Уровень 20, Воронеж , Россия
18 апреля, 11:40
Странная задача... Почему именно метод main должен добавлять всех котов в переменную cats, если можно это сделать в конструкторе класса и не писать лишних 10 строк в main.
cats.add(this);
Andrey
Уровень 9
4 апреля, 09:17
вместо проверки размера cats можно просто бежать по нему пока в нем есть кошки:
for (Cat currentCat : cats) {
    System.out.println(currentCat);
}
Килинар
Уровень 41, Москва
15 августа, 14:18
На случай, если кто-то наткнется на комментарий - можно сделать еще проще: есть в ArrayList метод: forEach. То есть можно просто сделать: cats.forEach((x) -> System.out.println(x)); Тут, конечно, используются лямбда функции, что несколько более продвинутый материал, но почитать об этом сейчас или просто использовать конструкцию не вникая в детали это не помешает.
Denis
Уровень 14
2 апреля, 01:04
Пустой конструктор Cat() можно оставить пустым.
Oleksandr Frontend Developer
4 марта, 12:05
Для того аби зробити це завдання потрібно прочитати 2 та 3 лекції з наступного рівня.
Егор Комаров
Уровень 8
24 февраля, 17:58
ВНИМАНИЕ ПРАВИЛЬНЫЙ ОТВЕТ com.javarush.task.task06.task0614.Cat@543c6f6d com.javarush.task.task06.task0614.Cat@13eb8acf com.javarush.task.task06.task0614.Cat@51c8530f com.javarush.task.task06.task0614.Cat@7403c468 com.javarush.task.task06.task0614.Cat@43738a82 com.javarush.task.task06.task0614.Cat@c81cdd1 com.javarush.task.task06.task0614.Cat@1fc2b765 com.javarush.task.task06.task0614.Cat@75881071 com.javarush.task.task06.task0614.Cat@2a70a3d8 com.javarush.task.task06.task0614.Cat@289d1c02
w0e666
Уровень 11, Киев, Украина
19 февраля, 00:44
тот момент когда задача работает правильно и требование "Добавь в класс Cat публичную статическую переменную cats (ArrayList<Cat>)" не проходит, хотя я его выполнил....
w0e666
Уровень 11, Киев, Украина
19 февраля, 00:46
А, понимаю, у меня был
public static ArrayList cats = new ArrayList<Cat>();
А они хотели это, хотя разницы никакой
public static ArrayList<Cat> cats = new ArrayList<Cat>();
w0e666
Уровень 11, Киев, Украина
19 февраля, 00:47
Если кто-то знает что я не прав, скажите пожалуйста почему
Corvettus Java Developer в СберТех
12 марта, 21:03
Сама ссылка cats должна иметь такой тип, а он уже ограничивет тип объекта по ссылке. Записи разные.
Innokentiu Shlenov
Уровень 8, Москва, Россия
20 апреля, 07:26
ArrayList - дженерик, его можно использовать с любым типом переменной (int,String,Cat), и ему нужно обязательно указать какой тип ты будешь использовать.
Вадим
Уровень 23, Москва
25 апреля, 13:33
Вообще, во втором случае именно лист над классом Cat, а не просто лист как в первом случае