2016-03-30 12 views
0

Her birinde profesyonel bir carreer adıyla birkaç satır içeren bir .txt dosyası okumaya çalışıyorum. Bir Tarayıcı yarattım ama ne zaman tarayıcının sadece okuduğunu ve arrayList'e eklemeyi istediğimi eklemek istediğimde, bu hatamethod add ArrayList <ClassName> argümanlar için geçerli değil (String)

çıkageliyor ArrayList türünde yöntem ekle (ClassName); argümanlar (String)

ArrayList<Claseqla> clista = new ArrayList<Claseqla>(); 

     Scanner s = new Scanner(new File("texto.txt")); 

     while(s.hasNextLine()) 
     { 
      **clista.add(s.nextLine());** 
     } 

Bu, başka bir sınıftaki kodun parçasıdır; Kalın işaretli çizgi hatanın oluştuğu yerdir. clista sadece 2 özelliklere sahiptir ama sadece bir dize dolu eleman ve diğer boş (yani hatta mümkün mü?)

+1

Yeni bir 'Claseqla' nesnesi oluşturun, dize öğelerinden birini ayarlayın, bu nesneyi listeye ekleyin. Tekrarlayın ... –

+0

Derslerinizi yazdırmak isterseniz, lütfen okuyun http://stackoverflow.com/questions/29140402/how-do-i-print-my-java-object-without-getting-sometype2f92e0f4 –

+0

Sadece okudum metin, şimdi yazdırabilirim. Çok teşekkürler. –

cevap

2

s.nextLine() bir String döndürür ile listeye eklemek istiyorum. Ancak, ArrayList, Claseqla genel türüne sahiptir.çağrısından yakaladığınız dizeyi kullanarak Claseqla nesnesini oluşturmanız ve ardından bu nesneyi ArrayList ürününüze eklemeniz gerekir.

+0

Teşekkürler! Çalıştı, şimdi sahip olduğum tek sorun, System.out.println (clista) gibi whiole listesini yazdığımda; Ekran Claseqla değerlerinden adres gibi görünüyor. –

+0

Yazdırılan metindeki ile aynı miktarda öğe alıyorum ama adreslere benziyorlar. ArrayList'deki dizenin gerçek değerini nasıl yazdırabilirim? (tekrar teşekkürler!) –

1

Sanırım Claseqla sınıfının 2 özelliği olduğunu söylemeye çalışıyorsunuz. Eğer öyleyse, o zaman bir Claseqla nesnesi oluşturmak ve bu asumming olduğu s.nextline ile nitelikler()

while(s.hasNextLine()) 
{ 
    Claseqla cq = new Claseqla(); 
    cq.setCareer(s.nextLine()); 
    clista.add(cq); 
} 

birinin değerini ayarlayabileceğini sahip olduğunuz Claseqla sınıfında kariyer (String) adında bir özellik ile ilgili ayarlayıcı işlevi.

+0

Bu da çok yardımcı oldu! Teşekkürler –