Статический кот — всем котам кот. Поэтому в этой задаче в классе Cat добавляем статическую переменную cats. Пусть при каждом создании кота (нового объекта Cat) в переменную cats добавляется этот новый кот. Нам нужно создать 10 объектов Cat, а затем метод printCats должен выводить всех котов на экран.
Статические коты
- 10
- Недоступна
Комментарии (449)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Katerina Bykova у меня пока лапки в но я исправлюсь
позавчера, 09:51
Я одна туплю над пунктом "1. В классе Cat добавь публичную статическую переменную cats (ArrayList<Cat>)"? Что здесь просят сделать?
0
Alleviata 7 уровень, Киев
18 января, 16:49
Ребята, о ArrayList вкратце. В него вы можете сохранить некоторое число объектов одно вида, хоть int, String, хоть Cat. ArrayList удобнее обычного массива тем, что его можно создавать не зная заранее его размер, и по ходу дела добавлять туда элементы и обращаться к ним. Основные методы ArrayList (вызываются через точку после название самого ArrayList):
название.add(element); - добавляем в ArrayList новый элемент, только того типа, которые изначально прописан в ArrayList<ВОТ ЗДЕСЬ>
название.size(); - возвращает нам целое число - количество элементов в ArrayList
название.get(целое число); - возвращает нам тот объект, который в ArrayList сохранен в ячейке под номером, переданным нами в параметрах
название.set(целое число, element) - меняет объект, сохраненный в ячейке под номером, который мы передаем первым параметром, на объект, который мы передаем вторым параметром
Для этой задачи нам нужен метод .add и .size()
Распостраненная ошибка - инициализация ArrayList
если запишете его в конструкторе так:
- он будет создаваться каждый раз, когда создается новый кот, и кот каждый раз будет сохранен в новый массив. А это ошибка. Так в конструкторе не делайте. Не зря он в статической переменной должен быть. 0
Gaziz 10 уровень, Уфа
9 января, 02:57
Два часа чтения документации и методов.
Часа два пытался добавлять котов в лист прям в конструкторе котов)))
Не надо так как я, надо просто прям при создании, даже имен не надо)))
0
Денис Кочетов Technical Lead в СП62
8 января, 20:06
Почему-то эта задача появляется ДО изучения класса ArrayList. Это следующая тема. Вы можете оставить эту задачу и прочитать курс дальше, затем вернутся, как это сделал я, тогда будет проще.
На эту задачу потратил около часа. Как оказалось, нужно было просто вчитываться в условие (которое слева от задачи, более подробные пункты).
Первым циклом создаём котов и сразу заносим в список:
Вторым циклом выводим.
Очень простая задача, как оказалось. +1
Дмитрий 7 уровень, Москва
5 января, 19:47
Я до последнего момента думал, что котам надо присвоить имена, но ссылки устроили валидатор...
И поэтому присваивал им персональные имена и пытался их передать аргументами конструктору).
В условии задачи нет необходимости создания объектов циклом, но без него не проходит валидацию.
0
Alexander 11 уровень
5 января, 17:32
Задача: решена
Способ решения : 2 цикла, бред в консоли, ничего не понимающий я
+1
Рустам 11 уровень
24 декабря 2020, 02:52
Было бы интереснее если бы конструктор сам добавлял объекты в массив
0
Sergey Bizinow DevOops в Devexperts
18 ноября 2020, 17:52
Хм, что странно, раньше у таких задач была лычка "Future" тут ее не хватает, есть конечно прямая отсылка, но все же ....
+3
Evgeny Vdovin 8 уровень
15 ноября 2020, 19:56
Для выполнения всем идти сюда
Класс ArrayList
Ну конечно пришлось покопаться и почитать что такое ArrayList, пришлось как-то написать этот код. Он как-то прошел валидацию... Но сказать что я особо что-то понял без внятной теории до этого - нельзя.
+7
Anna 8 уровень
22 декабря 2020, 18:56
Начинается со лов: "В прошлых лекциях мы подробно разобрали такую структуру данных как массив..."
Любопытно любопытно)0
+1
Dmitry 27 уровень, Хабаровск
11 ноября 2020, 01:30
Было бы веселее добавление котов cats.add(this) в конструктор включить, но увы "Метод main должен добавить всех созданных котов в переменную cats".
+3