H
hannes12
Gast
Hallo Hallo!!!
Ich verzweifel schon die ganze Zeit an einer doppelt verketten Liste. Und zwar habe ich folgende Klassen. Ich möchte ein Buch objekt vorne in der Liste also zwischen head und dem folgen Knoten einfügen.
Laut meinen Angaben müsste das so funktionieren. Leider kommt, wenn ich das programm so starte immer eine
Exception in thread "main" java.lang.NullPointerException
at DList.addFirst(DList.java:17)
at BuchtestDop.main(BuchtestDop.java:6)
Ich vermute das das wie in der Exception meldung in der fett markierte markierten Zeile liegt. Was habe ich falsch gemacht?
Vielen Dank für die Hilfe
-----------------------------
______________________________
___________________________________
Ich verzweifel schon die ganze Zeit an einer doppelt verketten Liste. Und zwar habe ich folgende Klassen. Ich möchte ein Buch objekt vorne in der Liste also zwischen head und dem folgen Knoten einfügen.
Laut meinen Angaben müsste das so funktionieren. Leider kommt, wenn ich das programm so starte immer eine
Exception in thread "main" java.lang.NullPointerException
at DList.addFirst(DList.java:17)
at BuchtestDop.main(BuchtestDop.java:6)
Ich vermute das das wie in der Exception meldung in der fett markierte markierten Zeile liegt. Was habe ich falsch gemacht?
Vielen Dank für die Hilfe
Code:
public class BuchtestDop {
public static void main(String[] args){
DList buchList = new DList();
buchList.addFirst(new Buch("Algo Daten", "Saake"));
buchList.addFirst(new Buch("Schöne Zeit", "Dirk Bach"));
}
}
Code:
public class DList {
Node head = null;
Node tail = null;
public DList(){
head = new Node();
head.setNext(tail);
tail = new Node();
tail.setPrev(head);
tail.setNext(tail);
}
//Erstes Element einketten
public void addFirst(Object o){
//neues Buch erstellen,
Node neu = new Node(o, head.getNext(), head);
head.getNext().setPrev(neu);
head.setNext(neu);
}
}
Code:
public class Node {
Object element;
Node next;
Node prev;
public Node(){
}
public Node(Object o, Node n , Node p){
element =o;
next=n;
prev=p;
}
public void setElement(Object o){
element=o;
}
public Object getElement(){
return element;
}
public void setNext(Node n){
next=n;
}
public void setPrev(Node p){
prev=p;
}
public Node getNext(){
return next;
}
public Node getPrev(){
return prev;
}
}
___________________________________
Code:
public class Buch {
String buchtitel;
String autor;
public Buch(String sb, String sa){
buchtitel=sb;
autor=sa;
}
}