Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hi! Ich bin neu in diesem Forum und weiß nicht genau ob das in diesem Thread richtig ist, aber ich versuch es mal.
Ich habe ein kleines Problem beim implementieren einer doppelt verketteten Liste.
Die doppelt verkettete Liste kennt Knoten. Diese Knoten bestehen aus einer Bestellung und zwei Referenzen, eine auf den vorherigen Knoten und eine auf den nächsten Knoten.
Hier zunächst mal die Knoten-Klasse:
Java:
public class Knoten {
private Bestellung b;
private Knoten vorheriger;
private Knoten naechster;
private Knoten(){
}
public Knoten(Bestellung best, Knoten next, Knoten prev){
DoppeltVerketteteListe.anzKnoten++;
this.setBestellung(best);
this.setNaechster(next);
this.setVorheriger(prev);
}
public void setBestellung(Bestellung best){
b=best;
}
public Bestellung getBestellung(){
return b;
}
public void setVorheriger(Knoten v){
vorheriger=v;
}
public void setNaechster(Knoten n){
naechster=n;
}
public Knoten getVorheriger(){
return vorheriger;
}
public Knoten getNaechster(){
return naechster;
}
@Override
public String toString(){
if (this.getBestellung()==null) return null;
return this.getBestellung().toString();
}
}
Die Knoten funktionieren auch einwandfrei. Das Problem liegt jetzt aber in der Klasse der eigentlichen implementierten verketteten Liste. Ich habe in dieser Klasse eine Methode zum Anzeigen aller verfügbaren Bestellungen erstellt:
Java:
public Bestellung[] getAllData(){
int anz=anzKnoten;
if(anz==0) return new Bestellung[0];
Bestellung[] best=new Bestellung[anz];
best[0]=wurzel.getBestellung();
Knoten k=wurzel.getNaechster();
for(int i=1; i<anz; i++){
best[i]=k.getBestellung();
if(k!=null) k=k.getNaechster();
}
return best;
}
In der Main-Methode habe ich nun eine doppelt verkettete Liste erstellt und die Liste mit Bestellungen "befüllt". Jetzt wirft die Methode beim Start immer eine NullPointerException. Kann mir da jemand behilflich sein?
Ich freue mich auf eure Antworten!
Danke im Voraus!
Danke für die schnelle Antwort! Das mit dem Java-Code tut mir leid, ich hatte das erst nach meinem Post gelesen!
Das hier ist die Fehlermeldung:
Java:
Exception in thread "main" java.lang.NullPointerException
at listen.DoppeltVerketteteListe.getAllData(DoppeltVerketteteListe.java:48)
at listen.TestListe.main(TestListe.java:17)