1. В классе Cat добавь public статическую переменную cats (ArrayList).
2. Пусть при каждом создании кота (нового объекта Cat) в переменную cats добавляется этот новый кот. Создать 10 объектов Cat.
3. Метод printCats должен выводить всех котов на экран. Нужно использовать переменную cats.
Требования:
1. Добавь в класс Cat public статическую переменную cats (ArrayList).
2. Переменная cats должна быть проинициализирована.
3. Метод main должен создавать 10 объектов Cat.
4. Метод main должен добавить всех созданных котов в переменную cats.
5. Метод printCats должен выводить всех котов из переменной cats на экран. Каждого с новой строки.
Итак, я написал вот такой код:
public class Cat {
public static ArrayList cats = new ArrayList();
public Cat(String name) {
cats.add(name);
}
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
String s = "cat" + Integer.toString(i); // формирую имя cat0, cat1...
Cat cat = new Cat(s); // создаю новый объект Cat с новым именем
}
printCats();
}
public static void printCats() {
for (int i = 0; i < cats.size(); i++) {
System.out.println(cats.get(i));
}
}
}
Вывод программы:
cat0
cat1
cat2
cat3
cat4
cat5
cat6
cat7
cat8
cat9
Но сайт не принял решения, указав, что нужно создать 10 объектов котов...
Тогда я сделал так:
public class Cat {
public static ArrayList cats = new ArrayList();
public Cat() {
}
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
Cat.cats.add(new Cat());
}
printCats();
}
public static void printCats() {
for (int i = 0; i < cats.size(); i++) {
System.out.println(cats.get(i));
}
}
}
Вывод программы:
com.javarush.task.task06.task0614.Cat@677327b6
com.javarush.task.task06.task0614.Cat@14ae5a5
com.javarush.task.task06.task0614.Cat@7f31245a
com.javarush.task.task06.task0614.Cat@6d6f6e28
com.javarush.task.task06.task0614.Cat@135fbaa4
com.javarush.task.task06.task0614.Cat@45ee12a7
com.javarush.task.task06.task0614.Cat@330bedb4
com.javarush.task.task06.task0614.Cat@2503dbd3
com.javarush.task.task06.task0614.Cat@4b67cf4d
com.javarush.task.task06.task0614.Cat@7ea987ac
Cat@677327b6 - это имя объекта? или ссылка на него?
И второй вариант сайт принял как правильный...