2015-10-29 57 views
-1

我想將多個對象添加到ArrayList,但我無法使用我的代碼。這是我目前使用的代碼。在for循環中,它將相同的對象添加到ArrayList 5次。爲什麼會發生?如何在數組列表中添加多個對象

import java.util.ArrayList; 
import java.util.Scanner; 
public class newBook { 
    public int no; 
    public String isim; 

    public newBook(int no ,String isim){ 
     this.no = no; 
     this.isim = isim;   
    }  
    @Override 
    public String toString(){ 
     return " no = " + this.no +", name = " + this.isim;   
    } 
    public static void main(String args[]){   
      Scanner klavye = new Scanner(System.in); 
      int kitapNo = klavye.nextInt(); 
      String kitapName = klavye.next();    
      ArrayList<newBook> liste = new ArrayList<>();   
      for(int i=0 ; i<5 ; i++){    
       liste.add(new newBook(kitapNo,kitapName)); 
       //System.out.println("Çıkmak için -1 giriniz "); 
       //int i = klavye.nextInt(); 
      }    
     for (newBook liste1 : liste) { 
      System.out.println(liste1); 
     }    
    } 
} 
+0

那你打算怎樣? – JonK

+0

你的困惑是什麼? –

+0

@JonK一個圖書館自動化用戶會添加圖書書籍和書籍名稱它只是爲了添加新書類變量土耳其語isim =名稱,聽衆=列表,書籍=書 – JyriBlasphemer

回答

4

他們不是同一個對象,他們只是有相同的內容。您也需要從循環內讀取klavye的輸入。

+0

我認爲這應該是在評論。 – Shivam

+0

這回答了他的問題 - >這是一個答案(即使我通常不打算寫出最簡單問題的答案)。 – Kayaman

+0

是的,我解決了這個問題吧 – JyriBlasphemer

2

它應該是這樣的謝謝

import java.util.ArrayList; 
    import java.util.Scanner; 
    public class newBook { 
     public int no; 
     public String isim; 

     public newBook(int no ,String isim){ 
      this.no = no; 
      this.isim = isim;   
     }  
     @Override 
     public String toString(){ 
      return " no = " + this.no +", name = " + this.isim;   
     } 
     public static void main(String args[]){   
       Scanner klavye = new Scanner(System.in); 


       ArrayList<newBook> liste = new ArrayList<>();   
       for(int i=0 ; i<5 ; i++){  
        int kitapNo = klavye.nextInt(); 
        String kitapName = klavye.next(); 
        liste.add(new newBook(kitapNo,kitapName)); 

        //System.out.println("Çıkmak için -1 giriniz "); 
        //int i = klavye.nextInt(); 
       }    
      for (newBook liste1 : liste) { 
       System.out.println(liste1); 
      }    
     } 
    } 
相關問題