Arama butonu
Bu konudaki kullanıcılar: 1 misafir
1
Cevap
1113
Tıklama
0
Öne Çıkarma
Java Kod Hatası
G
8 yıl
Yüzbaşı
Konu Sahibi

Arkadaşlar java.lang.NullPointerException hatası alıyorum kodlar aşağıda ve veri çektiğim txt dosyası içeriğini de atıyorum. Txt dosyasındaki her satırın ilk lokasyonu gidilecek metro ist. Arraylistte sakladıklarım ise oradan gidilebilecek yerler. Program çıktı veriyor aslında ama station.name i doldurmuyor hepsi null şeklinde kalıyor.


import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.ArrayList;
public class Main {

public static void main(String[] args) throws FileNotFoundException {

String adres = "C:\\Users\\bla bla bla bla\\Desktop\\metro.txt";
java.io.File dosya = new java.io.File(adres);
Scanner input = new Scanner(dosya);
Station[] station = new Station[100];

// okuma
int sayac = 0;
while(input.hasNext()){
String str = input.nextLine(); // tüm satırı okudu
String[] parts = str.split(":"); // parçalara ayırdı

String name = parts[0]; // parçaları değişkenlere atadı
ArrayList<String> dest = new ArrayList<String>();

for(int i=1; i<parts.length; i++){
dest.add(parts);
}

station[sayac] = new Station(name,dest);


sayac++;
}
// okuma bitti

for(int i=0; i<station.length; i++){

station.yazdir();
}


}

}
-------------------------------------------------------------------------------------------------------
import java.util.ArrayList;

public class Station {
public String name;

public ArrayList<String> destinations = new ArrayList<String>();

Station() {
}

Station(String name, ArrayList<String> dest) {

for (int i = 0; i < dest.size(); i++) {
destinations.add(dest.get(i));
}

}

public void yazdir() {

System.out.println(name + ": ");
System.out.print(destinations + "\n");

}

}
-------------------------------------------------------------------------------------------------------
Haciosman:Sariyer
Darussafaka:Emirgan:Istinye
Ataturk:
ITU:MEF:Maslak
Sanayi:Seyrantepe
4. Levent:Yeni Levent:Akatlar
Levent:Bebek:Ulus
Gayrettepe:Zorlu Center:Mecidiyekoy
Sisli:Mecidiyekoy:Nisantasi:Tesvikiye
Osmanbey:Bomonti:Nisantasi:Harbiye
Taksim:Cihangir:Beyoglu:Karakoy:Tophane
Sishane:Tophane:Galata:Tunel:Asmali Mescit
Halic:Eminonu:Balat:Sirkeci
Vezneciler:Ayasofya:Sultanahmet:Kapali Carsi:Eminonu:Vefa
Yenikapi:Aksaray:Topkapi
---------------------------------------------------------------------------------------------------------



M
8 yıl
Yüzbaşı

Hocam koda bakmadan önce bir yazdır methoduna bakıyorum birde yazdırı çağırdığın yere arrayi yazdır methoduyla kullanmaya çalışıyorsun kodun null pointerdan önce çalıştığına emin misin ya da attığın kodun son kodun olduğuna neyse onun dışında asıl sorunun çok basit bir eksikten kaynaklı.

Station constructorın içinde this.name = name; yazmamışın





< Bu mesaj bu kişi tarafından değiştirildi mercatroz -- 28 Mayıs 2017; 23:25:18 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.