Wie kann ich ein Array in dieser .toString
Methode meiner Shelf
Klasse zurückgeben?Wie man ein Array in der .toString Methode zurückgibt
public class Book
{
int wys, szer;
String imie, tytul;
public Book(int wys, int szer, String imie, String tytul)
{
this.wys = wys;
this.szer = szer;
this.imie = imie;
this.tytul = tytul;
}
@Override
public String toString()
{
return imie;
}
}
public class Shelf
{
int wys;
private Book book[] = new Book[20];
public Shelf(Book[] ks, int j)
{
for (int i = 0; i < ks.length - 1; i++)
{
this.book[i] = ks[i];
}
}
@Override
public String toString()
{
for (int i=0;i<book.length;i++)
{
return book[i].toString();
}
}
}
Hauptklasse
public class Test
{
public static void main(String[] args)
{
Book ks[]={
new Book (13,2, "Rhonda Byrne", "Sekret"),
new Book(12, 1, "Graham Greene", "Monsignore Kichote"),
new Book(19, 3, "Hugo Steinhaus", "Slownik racjonalny"),
new Book(10, 4, "RE.M. Remarque", "Trzej towarzysze"),
new Book(13, 3, "A.A. Milne", "Kubus Puchatek"),
new Book(11, 4, "Paulo Coelho", "El Aquimista"),
new Book(13, 5, "Mitch Albom", "Tuesday with Morrie"),
new Book(11, 2, "John Fowles", "Mag"),
};
Shelf s = new Shelf(ks, 15);
System.out.println(s);
}
}
Es ist nicht will, kompilieren, wenn die Return-Anweisung in der Schleife ist.
Es wird kompilieren, wenn ich auf diese Weise zurück:
return book[0].toString+book[1].toString... etc....
Aber wie es automatisch zu tun?
---> Ich habe den gesamten Code einer Klasse aktualisiert.
Sie, Sie nicht eine Zeichenfolge aus toString zurück. – puhlen
Erstellen Sie ein Array, fügen Sie es in die Schleife ein und geben Sie das Array nach Abschluss der Schleife zurück. –
Sie haben also das Array 'book []', und Sie wollen daraus ein passendes 'String []' Array erstellen? Oder möchten Sie 'book []' Array-Elemente verbinden, um eine einzelne 'String' zu erzeugen, die Sie für die' toString'-Methode zurückgeben können? Oder etwas anderes? Bitte klären Sie die Frage, denn der darin enthaltene Code macht nicht mehr Sinn, um zu wissen, was Sie eigentlich wollen! – hyde