Печать массива объектов более лаконично

#java #arrays #object #printing

#java #массивы #объект #печать

Вопрос:

Я создаю массив объектов и у меня проблема с простой печатью

 Dog Dogobj[]=new Dog[2]; // Dog objects within this array
Dogobj[0] = new Dog(Age, weight, name); 
Dogobj[1] = new Dog(Age, weight, name);

System.out.println("Dog age?: " Dogobj[0].Dogtype etc.) 
 

Теперь, после их создания, я не могу найти простой способ их печати, в котором не так много длинных строк. Это единственный способ, которым, как я обнаружил, я могу это сделать (выше) — для каждого объекта есть около 10 переменных, поэтому они представляют собой очень длинные строки.

Комментарии:

1. Вы добавили toString() метод в свой Dog класс?

Ответ №1:

Вы можете сделать что-то вроде:

 for (Dog dog : Dogobj) {
    System.out.println(dog); // This way every dog will be printed in a new line
}
 

И, конечно, реализуйте метод Dog toString .

в определении класса «Dog»:

 @Overrride
public String toString() {
    "Age: "   age   ","  
    "weight: "   weight   ","
    "name: "   name;
}
 

если вы хотите, чтобы каждый элемент dog был напечатан в новой строке, вы можете реализовать toString таким образом:

 @Overrride
public String toString() {
    "Age: "   age   ",n"  
    "weight: "   weight   ",n"
    "name: "   name;
}
 

Ответ №2:

  1. Внедрите toString метод () в свой класс DogObj. Внутри этого метода вы можете вернуть строку, которую необходимо распечатать из объекта.
  2. Распечатайте объекты внутри цикла for.
     for (int i = 0; i < Dogobj.length; i  ) {
               System.out.println(DogObj[i]);
           }
 

Ответ №3:

Используйте это:

   `for(String d : dog)`
 
  1. Элемент списка:

    {System.out.println(d);}

  2. Или это:

for(int i=0 ; i<dog.length ; i ){ System.out.println(dog[i]);}