2017-07-07 57 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()); 
    } 

输出:

影片名称:恩波曼EIN麦汁作者日期:巴巴ISI ISBN:DE 1234567890 Seitenzahl:50个价格:1234.0

影片名称:想粉碎作者日期:粉碎它ISBN:DE 5461563259 Seitenzahl:50个价格:1234.0

影片名称:粉碎我的作者日期:奥凯ISBN:DE 67892011789 Seitenzahl:50个价格:1234.0

影片名称:GOT雅作者日期:逮住ISBN:d Ë678198771890 Seitenzahl:50个价格:1234.0

影片名称:IDK作者日期:IDK2 ISBN:DE 47740710974691 Seitenzahl:50个价格:1234.0

影片名称:IDK作者日期:IDK2 ISBN:DE 47740710974691 Seitenzahl:50个价格:1234.0

影片名称:IDK作者日期:IDK2 ISBN:DE 47740710974691 Seitenzahl:50个价格:1234.0

影片名称:IDK作者日期:IDK2 ISBN:DE 47740710974691 Seitenzahl:50个价格:1234.0

影片名称:IDK作者日期:IDK2 ISBN: DE 4774071097 4691 Seitenzahl:50价格:1234.0

影片名称:IDK作者日期:IDK2 ISBN:DE 47740710974691 Seitenzahl:50价格: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

通过类似的东西代替for循环:

​​
相关问题