2017-07-07 2 views
-1

私はobject1 object2などの異なるタイプのオブジェクトを作成しました。今、これらのオブジェクトを配列に格納し、その配列を印刷するにはどうすればよいですか?以下の考え方はうまくいかない。オブジェクトを配列に格納して印刷するJAVA

Buch buch = new Buch("Blablabla", "Baba Isi", "DE 1234567890", 50, 1234f); 
    System.out.println(buch.toString()); 
    //5 Objekte erstellen 
    /*2*/Buch buch2 = new Buch("Blabla2", "blubb", "DE 5461563259", 50, 1234f); 
    System.out.println(buch2.toString()); 
    /*3*/Buch buch3 = new Buch("Check this out", "oke", "DE 67892011789", 50, 1234f); 
    System.out.println(buch3.toString()); 
    /*4*/Buch buch4 = new Buch("Got ya", "catch ya", "DE 678198771890", 50, 1234f); 
    System.out.println(buch4.toString()); 
    /*5*/Buch buch5 = new Buch("IDK", "IDK2", "DE 47740710974691", 50, 1234f); 
    System.out.println(buch5.toString()); 

    Buch[] arr = new Buch[5]; 
    for(int i = 0; i<5; i++){ 
     arr[i] = new Buch(); 
    } 
    for(int i = 0; i < arr.length; i++){  //toString method exists an it works 
     System.out.println(arr[i].toString()); 
    } 

出力:

TITEL:アインマンEINワートAutor:馬場ISI ISBN:DE 1234567890 Seitenzahl:50 Preis:1234.0

TITEL:ワナ・スマッシュAutor:ISBNそれを破る:DE 5461563259 Seitenzahl:50 Preis:1234.0

TITEL:スマッシュミーAutor:桶ISBN:DE 67892011789 Seitenzahl:50 Preis:1234.0

TITEL:ガットYA Autor:キャッチYA ISBN:D E 678198771890 Seitenzahl:50 Preis:1234.0

TITEL:IDK Autor:IDK2 ISBN:DE 47740710974691 Seitenzahl:50 Preis:1234.0

TITEL:IDK Autor:IDK2 ISBN:DE 47740710974691 Seitenzahl:50 Preis:1234.0

TITEL:IDK Autor:IDK2 ISBN:DE 47740710974691 Seitenzahl:50 Preis:1234.0

TITEL:IDK Autor:IDK2 ISBN:DE 47740710974691 Seitenzahl:50 Preis:1234.0

TITEL:IDK Autor:IDK2 ISBN: DE 4774071097 4691 Seitenzahl:50 Preis:1234.0

TITEL:IDK Autor:IDK2 ISBN:DE 47740710974691 Seitenzahl:50 Preis:1234.0

+0

あなたのコードはうまくいくはずです。どのようなエラーが出ますか? – Setop

+0

私は ";" forループで配列を出力します。今度は私のコードには出力があります: – progress190

+0

あなたのフィールドはすべて「静的」と宣言されています。 – Makoto

答えて

0

あなたは、コンストラクタ内のオブジェクトにデータを与えています。実際には、新しい配列を作成するときに、あなたの文字列を含まない新しいオブジェクトを生成しています。それを解決するには、あなたが別の関数内のオブジェクトの引数を与えると、次のような世代後の配列項目のそれぞれについて、その関数を呼び出すことができます

 Buch[] arr = new Buch[5]; 
     for(int i = 0; i<5; i++){ 
      arr[i] = new Buch(); 
     } 

     arr[0].fill("Blablabla", "Baba Isi", "DE 1234567890", 50, 1234f); 
     arr[1].fill("Blabla2", "blubb", "DE 5461563259", 50, 1234f); 
     arr[2].fill("Check this out", "oke", "DE 67892011789", 50, 1234f); 
     arr[3].fill("Got ya", "catch ya", "DE 678198771890", 50, 1234f); 
     arr[4].fill("IDK", "IDK2", "DE 47740710974691", 50, 1234f); 


     for(int i = 0; i < arr.length; i++){  //toString method exists an it works 
      System.out.println(arr[i].toString()); 
     } 
0

そのようなことでループのために置き換えます。

​​
関連する問題