Java drucken Sie ein array von Objekten

Ich weiß, es gibt eine Menge von Seiten über diese Frage, aber ich kann es nicht verstehen in meinem Fall.

Muss ich drucken Sie das array von Objekten. Zum Beispiel habe ich ein array von Objekten, die Objekte enthalten, die aus der "Form" - Klasse. Rufe ich die toString-Methode für jedes Objekt im array, oder muss ich den code der Methode toString in der ObjectList-drucken aus der Instanz-Variablen? Wenn ja, wie mache ich das?

public class Shape{
    private String shapeName;
    private int numSides;

    public String toString(){
        return shapeName + " has " + numSides + " sides.";
    }
}

public class ObjectList{
    private Object[] list = new Object[10];
    private int numElement = 0;

    public void add(Object next){
        list[numElement] = next;
    }

    public String toString(){
        //prints out the array of objects 

        //do I call the toString() method from the object?

        //or do I print the instance variables? What am I printing?

        //I'm guessing I do a for loop here
    }
}

public class Driver{
    public static void main(String[] args){
        ObjectList list = new ObjectList();
        Shape square = new Shape("square", 4);
        Shape hex = new Shape("hexagon", 6);
        list.add(square);
        list.toString();  //prints out array of objects
}

Ich bin mit dem Ziel für Sie diese ausdrucken:

square has 4 sides
hexagon has 6 sides
  • Wenn das array enthält nur Shapes, warum nicht machen es zu einem Shape[] eher als Object[]? Auch Ihre add Methode sollte den Wert erhöhen numElement.
  • Ach ja, ich vergaß hinzuzufügen, die numElement++, aber ich wollte es dynamisch für alle Objekte und nicht nur die Form []. Klasse.
InformationsquelleAutor Denise Moran | 2015-04-15
Schreibe einen Kommentar