2016-04-27 18 views
-6

Also, ich habe Arraylist, die ich speichern Tiere.ArrayList <String> in Ausgabe drucken?

private ArrayList<Animal> catalog = new ArrayList<>(); 

Jetzt, ich brauche den Katalog in meiner Ausgabe zu drucken, wenn i 4 in meiner Ausgabe drücken.

case 4: 
       System.out.println("List of animals: "); 
       printIt(); //Function to print catalog 
       break; 

Ich versuchte es mit

private boolean InList(String name) { 
    for (int i = 0; i < catalog.size(); i++) { 
     if (name.equalsIgnoreCase(catalog.get(i).getName())) { 
      return true; 
     } 
    } 
    return false; 
} 

Aber es funktioniert nicht zu tun. Können Sie mir helfen, diesen Code zu bekommen?

+0

Warum außer Kraft zu setzen versuchen nicht einfach das Tier Liste zu drucken? –

+1

Bitte posten Sie 'printIt' und wie ist' InList' relevant? –

+1

Wenn ich versuche nur "Katalog" zu drucken, die Tiere gespeichert sind, werde ich bekommen "[[email protected]]" PrintIt ist hier privat String PrintIt() { String Tier = name; //catalog.add(); Rückkehr Tier; } –

Antwort

0

Tun Sie etwas wie das, wenn Sie möchten, dass es einen String zurückgibt.

Obwohl ich keine Notwendigkeit dafür sehe, drucke es einfach sofort.

void printIt(ArrayList<Animal> animals) { 
for(Animal animal : animals) { 
System.out.println(animal.getName()); 
} 
} 
+0

Danke. Gebrauchte 2. Option. Du hast Recht, besser eins: p –

0

eine Methode definieren, die vielleicht druckt zu viel, können Sie einfach

tun
System.out.println("List of animals: "+ catalog); 

aber dafür müssen Sie die toString Methode in der Klasse Tier außer Kraft setzen ...

, wenn Sie überschreiben Sie nicht, dass Sie etwas gedruckt bekommen wie

[[email protected]] 

das ist die d efaukt bespannen des Objekts ...

so etwas wie in dem Format:

[email protected] ..

+0

Danke. Nicht ganz sicher, wie man toString überschreibt, aber es funktioniert jetzt. –

0

Sie müssen freundlich für den Druck Benutzer toString() -Methode außer Kraft zu setzen Namen der Objekte und es hilft beim Debuggen.

equals() - Methode zum Vergleichen zweier Tierobjekte sind gleich oder nicht.

Weitere Informationen darüber, wie oder wann Objektklasse Methoden https://docs.oracle.com/javase/tutorial/java/IandI/objectclass.html

Verwandte Themen