Şimdi Ara

NullPointerException hatası için yardım

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
2
Cevap
0
Favori
548
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri
  • Son Yorum 9 yıl
  • Cevaplayan Üyeler 2
  • Konu Sahibinin Yazdıkları 1
  • Ortalama Mesaj Aralığı 11 saat 47 dakika
  • Son 1 Saatteki Mesajlar 1
  • Konuya En Çok Yazanlar
  • actionsee (1 mesaj) pspoor (1 mesaj)
  • Konuya Yazanların Platform Dağılımı
  • Masaüstü (1 mesaj) Mobil (1 mesaj)
  • @
0 oy
Öne Çıkar
Giriş
Mesaj
  • Bir graf algoritması için Java kodu yazmam gerekiyor 2 tane sınıf oluşturdum "main" ve "vertex"
    Vertex ;
    public class Vertex {

    private String inside;
    public LinkedList<Vertex> links;
    public Vertex(String s)
    {
    inside=s;
    }
    @Override
    public String toString()
    {
    return inside;
    }
    bu şekilde main ise ;
    public static void main(String[] args) throws IOException {

    Scanner c=new Scanner(new File("homework.txt"));
    try
    {
    while(c.hasNextLine())
    {
    Data.add(new Vertex(c.next()));
    while(c.hasNext())
    {
    Data.getLast().links.add(new Vertex(c.next()));
    }
    }
    }
    finally
    {
    c.close();
    }
    bu şekilde ama altı çizili olan verde null pointer hatası veriyor.
    Yeni gelen vertexi önceki vertexin "list" kısmına baglamak istiyorum komşu olarak ama başaramadım,
    graflar için iyi bir fikriniz var ise önerilere açığım ama kütüphane önermeyin ufak bir sisteme ihtiyacım var, kütüphaneler çok fazla geliyor.

    < Bu ileti mobil sürüm kullanılarak atıldı >



    |
    |




  • Büyük ihtimalle getLast() metodunun getirmeye çalıştığı object yok. Onu bir if in içinde kontrol edebilirsin ( if (Data.getLast() != null) ) şeklinde.

    Ayrıca links in sıkıntılı. Variable olarak tanımlamışsın yukarıda ancak links = new LinkedList<Vertex>(); yazmamışsın. Constructor a eklemelisin.

    Bu tür sıkıntılar için eclipse kullanıyorsan debugger özelliğini kullanmanı öneririm.
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.