Подскажите пожалуйста, как вывести название всех животных которые находятся в первой клетке, я попытался сделать циклом:
for (Object o : oneCell.getAnimal()) {
System.out.println(o);
}
Но, я не могу переменную о сделать Animal и вызвать метод .getName()
for(Animal o: oneCell.getAnimal()) {
System.out.println(o.getName())
}
Примерно так
package com.company;
import java.util.ArrayList;
public class Main {
static class Zoo {
private String name;
private ArrayList newCell = new ArrayList();
private Cell cell;
Animal t_anim;
public Zoo(String Name) {
name = Name;
}
public void addCell(Cell cell) {
newCell.add(cell);
}
public void removeCell(Cell cell) {
newCell.remove(cell);
}
public String getName() {
return name;
}
public void setName(String newName) {
name = newName;
}
public Animal findName(String name) {
// for (Object t_cell : newCell) {
ArrayList t_animList = Cell.getAnimalList();
for (Object t_anim : t_animList) {
if (Animal.getName() == name)
return (Animal) t_anim;
}
// }
return null;
}
static class Cell {
private int number;
private int size;
private int maxQuantityAnimal; // Максимальное кол-во животных
private int currentQuantityAnimal; // Текущее кол-во животных
private Animal animal;
public Cell(int Number, int Size, int MaxQuantityAnimal, int CurrentQuantityAnimal) {
number = Number;
size = Size;
maxQuantityAnimal = MaxQuantityAnimal;
currentQuantityAnimal = CurrentQuantityAnimal;
}
private static ArrayList newAnimal = new ArrayList();
public void addAnimal(Animal animal) {
newAnimal.add(animal);
}
public void removeAnimal(Animal animal) {
newAnimal.remove(animal);
}
public ArrayList getAnimal() {
return newAnimal;
}
public Animal GetAnimal() {
return animal;
}
public void setAnimal(Animal animal) {
this.animal = animal;
}
public static ArrayList getAnimalList() {
return newAnimal;
}
}
static class Animal {
private static String name;
private static Boolean predator;
private Cell cell;
private Zoo zoo;
private ArrayList newCell = new ArrayList();
public Animal(String Name, Boolean Predator) {
name = Name;
predator = Predator;
}
public Cell getCell() {
return cell;
}
public void setCell(Cell cell) {
this.cell = cell;
}
public static String getName() {
return name;
}
public void setName(String newNme) {
name = newNme;
}
public static Boolean getPredator() {
return predator;
}
public void setPredator(Boolean newPredator) {
predator = newPredator;
}
}
}
public static void main(String[] args) {
Zoo newZoo = new Zoo("NSK");
Zoo.Cell oneCell = new Zoo.Cell(5, 60, 10, 1);
Zoo.Cell twoCell = new Zoo.Cell(10, 80, 20, 2);
Zoo.Animal oneAnimal = new Zoo.Animal("Тигр", true);
Zoo.Animal twoAnimal = new Zoo.Animal("Лев", false);
Zoo.Animal threeAnimal = new Zoo.Animal("Пантера", false);
newZoo.addCell(oneCell);
newZoo.addCell(twoCell);
oneCell.addAnimal(oneAnimal);
oneCell.addAnimal(twoAnimal);
twoCell.addAnimal(threeAnimal);
for (Object o : oneCell.getAnimal()) {
System.out.println(o);
}
// System.out.println(Zoo.Animal.getName());
Zoo.Animal foundAnimal = newZoo.findName("Тигр");
System.out.println(foundAnimal.getPredator());
}
}
Мой вам совет. Раскидайте все классы в отдельные файлы без лишней вложенности и скорректируйте код. Вот так все работает . Мейби опечатался где, поправите:
public class Animal {
private String name;
private Boolean predator;
private Cell cell;
private Zoo zoo;
private ArrayList newCell = new ArrayList();
public Animal(String Name, Boolean Predator) {
name = Name;
predator = Predator;
}
public Cell getCell() {
return cell;
}
public void setCell(Cell cell) {
this.cell = cell;
}
public String getName() {
return name;
}
public void setName(String newNme) {
name = newNme;
}
public Boolean getPredator() {
return predator;
}
public void setPredator(Boolean newPredator) {
predator = newPredator;
}
}
public class Cell {
private int number;
private int size;
private int maxQuantityAnimal; // Максимальное кол-во животных
private int currentQuantityAnimal; // Текущее кол-во животных
private Animal animal;
public Cell(int Number, int Size, int MaxQuantityAnimal, int CurrentQuantityAnimal) {
number = Number;
size = Size;
maxQuantityAnimal = MaxQuantityAnimal;
currentQuantityAnimal = CurrentQuantityAnimal;
}
private ArrayList<Animal> newAnimal = new ArrayList();
public void addAnimal(Animal animal) {
newAnimal.add(animal);
}
public void removeAnimal(Animal animal) {
newAnimal.remove(animal);
}
public ArrayList<Animal> getAnimal() {
return newAnimal;
}
public Animal GetAnimal() {
return animal;
}
public void setAnimal(Animal animal) {
this.animal = animal;
}
public ArrayList<Animal> getAnimalList() {
return newAnimal;
}
}
public class Zoo {
private String name;
private ArrayList<Cell> newCell = new ArrayList();
public Zoo(String Name) {
name = Name;
}
public void addCell(Cell cell) {
newCell.add(cell);
}
public void removeCell(Cell cell) {
newCell.remove(cell);
}
public String getName() {
return name;
}
public void setName(String newName) {
name = newName;
}
public Animal findName(String name, Cell cell) {
ArrayList<Animal> t_animList = cell.getAnimalList();
for (Animal t_anim : t_animList) {
if (t_anim.getName().equals(name))
return t_anim;
}
return null;
}
}
public class Main {
public static void main(String[] args) {
Zoo newZoo = new Zoo("NSK");
Cell oneCell = new Cell(5, 60, 10, 1);
Cell twoCell = new Cell(10, 80, 20, 2);
Animal oneAnimal = new Animal("Тигр", true);
Animal twoAnimal = new Animal("Лев", false);
Animal threeAnimal = new Animal("Пантера", false);
oneCell.addAnimal(oneAnimal);
oneCell.addAnimal(twoAnimal);
twoCell.addAnimal(threeAnimal);
newZoo.addCell(oneCell);
newZoo.addCell(twoCell);
for (Animal o : oneCell.getAnimal()) {
System.out.println(o.getName();)
}
Animal foundAnimal = newZoo.findName("Тигр", oneCell);
System.out.println(foundAnimal.getPredator());
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Помогите разобраться с папками в web приложении на SpringBoot, thymeleaf Сколько видео не смотрел на эту тему, каждый создает свою структуру папок, при...
Как сделать div c тенью цвета #000000, 40% прозрачности и 20px размытием (blur)?
текст, выделенный жирным шрифтомПодскажите как сверстать такой блок без анимации на CSS?