Нужно обратиться к объекту, который находится в ArrayList
Animal Buriy = new Animal();
Animal Grizzly = new Animal();
Buriy.setAName("Бурый медведь Миша");
Buriy.setType(true);
Buriy.setCell(1);
Grizzly.setAName("Медведь гризли Женя");
Grizzly.setType(true);
Grizzly.setCell(1);
Cell First = new Cell();
First.setNumber(1);
First.setSize(2);
First.addAnimal(Buriy);
First.addAnimal(Grizzly);
Zoo Roev = new Zoo();
Roev.setName("Роев Ручей");
Roev.addCell(First);
System.out.println("Название зоопарка: " + Roev.getName());
System.out.println("Номер клетки: " + First.getNumber());
System.out.println("Кто находится в клетке: " + First.getAnimalNames());
Результат работы программы:
Название зоопарка: Роев Ручей
Номер клетки: 1
Кто находится в клетке: [com.company.Animal@312b1dae, com.company.Animal@7530d0a]
Создаю животных, объекты класса Animal, имеют имя. Далее создаю объект класса Cell, который является ArrayList, в него помещаю животных. А потом создаю объект класса Zoo, который также является ArrayList и помещаю в него клетку, в которой уже животные. Нужно создать метод, который будет при обращении к клетке возвращать имена всех животных, находящихся в клетке, а не [com.company.Animal@312b1dae, com.company.Animal@7530d0a]
Класс Cell:
public class Cell {
private int Number;
private int Value;
private int Size;
private ArrayList Cell = new ArrayList(Size);
public void setNumber(int newNumber) {
Number = newNumber;
}
public int getNumber(){
return Number;
}
public void setSize(int newSize){
Size = newSize;
}
public int getSize() {
return Cell.size();
}
public void addAnimal(Animal animal){
Cell.add(animal);
}
public void removeAnimal(Animal animal) {
Cell.remove(animal);
}
public String getAnimalNames() {
return Cell.toString();
}
public void setValue(int newValue){
Value = newValue;
}
public int getValue(){
return Value;
}
}