Null Pointer Exception

brauni18

Mitglied
Hallo,
ich wollte bisschen mit "Pointern in Java" rumexperimentieren und hab versucht mir ne einfach verkettete Liste zu bauen.
Jetzt komm ich aber nicht weiter weil ich immer ne Null Pointer Exception bekomme.
Hab versucht mich bisschen zu belesen...aber ich check nicht was die null pointer exception ist und kann deswegen auch meinen fehler nicht beheben

hier mein Code:

Java:
class Pointer{
    String Inhalt;
    Pointer next;

    Pointer(){
        next=null;
        Inhalt="";
    }

}

public class Liste {
    private Pointer erstes,akt,letztes = new Pointer();

    Liste(){
        erstes=null;
        letztes=null;
        akt=null;
    }

    private boolean leer(){
        return erstes.next==null;
    }

    private Pointer getVoriges(){
        Pointer Temp = new Pointer(); // Temporärer Such-Pointer
        Temp=erstes;
        while(Temp.next!=akt) {
            Temp=Temp.next;
        }
        return Temp;
    }

    public void insert(String content){
        Pointer Neues = new Pointer();
        Neues.Inhalt=content;
        if (leer() ) {
            Neues.next=null;
            erstes=Neues;
            letztes=Neues;
            akt=Neues;
        }
        else{
            if(akt==erstes) {
                Neues.next=akt;
                erstes=Neues;
                akt=Neues;
            }
            else {
                Pointer Prev = new Pointer();
                Prev=getVoriges();
                Prev.next=Neues;
                Neues.next=akt;
                akt=Neues;
            }

        }

    }

    public void Ausgabe(){
        akt=erstes;
        //System.out.println(letztes.Inhalt);
        do{
            System.out.println(akt.Inhalt);
            akt=akt.next;
        }
        while(akt!=letztes);
    }
}

und die anwendende Main:

Java:
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Liste l1 = new Liste();
        l1.insert("Hallo");
        l1.insert("Welt");
        l1.Ausgabe();
    }

}
 

eRaaaa

Top Contributor
Hab versucht mich bisschen zu belesen...aber ich check nicht was die null pointer exception ist und kann deswegen auch meinen fehler nicht beheben

Dann lies dir mal folgendes durch:
Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 3.7 Identität und Gleichheit


Java:
erstes = null;
hinter erstes versteckt sich also kein Objekt...in der Methode insert rufst du jetzt aber [c]if (leer())[/c] auf, also die Methode leer()..dort passiert wiederum [c]erstes.next[/c] <-- da kracht es. Du versuchst auf die Eigenschaft next zuzugreifen. erstes ist aber [c]null[/c].

Mit dem Durchlesen des o.g. Artikels, kommst du hoffentlich weiter....
 

_Andi91

Bekanntes Mitglied
jop erstes ist null.

Du sagst zwar:

Java:
private Pointer erstes,akt,letztes = new Pointer();


aber dann im Konstruktor

Java:
Liste()
{
      erstes=null;
      letztes=null;
      akt=null;
}


Zuerst werden also zu den drei Variablen je eine neue Pointer Instanz zugewiesen.
Der Konstruktor wird allerdings erst danach aufgerufen und setzt die Variablen wieder auf null...
 

icarus2

Top Contributor
Noch so als kleiner Tipp:

Ich finde es gefährlich sowas zu schreiben, weil erstes und akt 'null' bleiben und nur letztes nachher nicht mehr 'null' ist.
[Java]
private Pointer erstes,akt,letztes = new Pointer();
[/Java]

Besser so:
[Java]
private Pointer erstes = new Pointer();
private Pointer akt = null;
private Pointer letztes = null;
[/Java]

oder wenn du alle initialisieren möchtest:
[Java]
private Pointer erstes = new Pointer();
private Pointer akt = new Pointer();
private Pointer letztes = new Pointer();
[/Java]
 

Marco13

Top Contributor
oder wenn du alle initialisieren möchtest:
[Java]
private Pointer erstes = new Pointer();
private Pointer akt = new Pointer();
private Pointer letztes = new Pointer();
[/Java]

Sinnvoller wäre da IMHO
[Java]
private Pointer erstes = new Pointer();
private Pointer akt = erstes;
private Pointer letztes = erstes;
[/Java]
(muss man natürlich in der Liste berücksichtigen...)
 

brauni18

Mitglied
erstmal Danke für eure Antworten =)

sind schon einige sachen die man aus anderen sprachen vll anders kennt


ähm...aber mit dem nullen von den Pointern erstes, akt und letztes......ich dachte dass ich die nulle ist egal weil wenn ich dann ein neues Element einfüg bekommen die Pointer doch die Referenz des Neuen Pointers übergeben oder?

habs jetzt wie folgt geändert:
Java:
class Pointer{
    String Inhalt;
    Pointer next;

    Pointer(){
        next=null;
        Inhalt="";
    }

}

public class Liste {
    private Pointer erstes = new Pointer();
    private Pointer akt = new Pointer();
    private Pointer letztes = new Pointer();

    Liste(){
        erstes=null;
        letztes=null;
        akt=null;
    }

    private boolean leer(){
       if(erstes==null){
           System.out.println("ist leer");
           return true ;
       } else return false;
    }

    private Pointer getVoriges(){
        Pointer Temp = new Pointer(); // Temporärer Such-Pointer
        Temp=erstes;
        while(Temp.next!=akt) {
            Temp=Temp.next;
        }
        return Temp;
    }

    public void insert(String content){
        Pointer Neues = new Pointer();
        Neues.Inhalt=content;
        if (leer() ) {
            Neues.next=null;
            erstes=Neues;
            letztes=Neues;
            akt=Neues;
        }
        else{
            if(akt==erstes) {
                Neues.next=akt;
                erstes=Neues;
                akt=Neues;
            }
            else {
                Pointer Prev = new Pointer();
                Prev=getVoriges();
                Prev.next=Neues;
                Neues.next=akt;
                akt=Neues;
            }

        }

    }

    public void Ausgabe(){
        akt=erstes;
        //System.out.println(akt+"  "+erstes+"  "+letztes);
        while(akt!=letztes) {
            System.out.println(akt.Inhalt);
            akt=akt.next;
        } 
        
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Null-Pointer Exception beim Programmstart Java Basics - Anfänger-Themen 8
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
C Null Pointer Exception Java Basics - Anfänger-Themen 10
G Null Pointer Exception Java Basics - Anfänger-Themen 4
D OOP Warum bekomme ich eine Null-Pointer Exception!!? :( Java Basics - Anfänger-Themen 4
A Null Pointer Exception in Liste Java Basics - Anfänger-Themen 11
L Null Pointer Exception bei setText Java Basics - Anfänger-Themen 9
T Null Pointer Exception Java Basics - Anfänger-Themen 4
T Null Pointer Exception Java Basics - Anfänger-Themen 8
H Null Pointer Exception Problem Java Basics - Anfänger-Themen 3
L Null Pointer Exception bei Focus Event bei einem JTextField Java Basics - Anfänger-Themen 2
D Null-Pointer-Exception Java Basics - Anfänger-Themen 5
E Hash Map - Null Pointer Exception? Java Basics - Anfänger-Themen 3
B Call By reference (Null pointer exception) Java Basics - Anfänger-Themen 6
J Null Pointer Exception in der "ob Null"-Abfrage? Java Basics - Anfänger-Themen 37
A Null Pointer Exception beim Erstellen eines Arrays aus einer eigenen Klasse Java Basics - Anfänger-Themen 3
K Null pointer exception in Methode Java Basics - Anfänger-Themen 4
D Null Pointer Exception Java Basics - Anfänger-Themen 8
D null pointer exception Java Basics - Anfänger-Themen 3
M Null Pointer Exception Java Basics - Anfänger-Themen 18
T Null Pointer Exception Java Basics - Anfänger-Themen 2
F Null Pointer Exception #2 Java Basics - Anfänger-Themen 5
I Unerklärliche Null-Pointer-Exception bei JRadioButton Array Java Basics - Anfänger-Themen 2
H Null Pointer Exception? Java Basics - Anfänger-Themen 4
G Null Pointer Exception Java Basics - Anfänger-Themen 10
N null pointer exception Java Basics - Anfänger-Themen 6
S Null-Pointer-Exception Java Basics - Anfänger-Themen 5
B Null Pointer Exception Java Basics - Anfänger-Themen 2
L nur kleines null Pointer Exception problem Java Basics - Anfänger-Themen 9
R Null Pointer Exception von anderer Klasse aus. Java Basics - Anfänger-Themen 2
N NULL Pointer Exception Java Basics - Anfänger-Themen 4
J Java.lang Null Pointer Exception Java Basics - Anfänger-Themen 3
Dilandau null pointer exception - woran liegts? Java Basics - Anfänger-Themen 16
W Null-Pointer trotz Konstruktor? Java Basics - Anfänger-Themen 9
Orkanson Null Pointer Expception Java Basics - Anfänger-Themen 3
G Null Pointer Exeption Java Basics - Anfänger-Themen 8
Z Null Pointer?! WHY? Java Basics - Anfänger-Themen 11
J Null-Pointer -> Code-Zeile ausgeben möglich? Java Basics - Anfänger-Themen 7
N null pointer exeption problem Java Basics - Anfänger-Themen 4
H Null pointer Exeption Java Basics - Anfänger-Themen 4
R Thread geht jetzt - aber - Fehler "Null-Pointer" Java Basics - Anfänger-Themen 20
S Vector wirdn icht gefüllt, null Pointer, was ist der Fehler Java Basics - Anfänger-Themen 6
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
J 2 listen vergleichen, die auch null Elemente haben können ! Java Basics - Anfänger-Themen 9
I Grundsatzfrage: Belegt eine Referenz auf 'null' RAM, und wenn ja - wieviel ;-) ? Java Basics - Anfänger-Themen 5
H Ein übergegebenes Objekt auf null setzen Java Basics - Anfänger-Themen 9
P Buffer und null Java Basics - Anfänger-Themen 3
"java.util.HashMap.get(Object)" is null Java Basics - Anfänger-Themen 10
jakobfritzz Array- cannot invoke "" because "" is null Java Basics - Anfänger-Themen 4
W Wie ziehe ich von einer bestimmten Zahl, Zahlen ab, bis mein Ergebnis null beträgt? Java Basics - Anfänger-Themen 10
N null in String replacen Java Basics - Anfänger-Themen 16
S JavaKara Null Exception Error Java Basics - Anfänger-Themen 4
K Bufread.readLine())!= null wie beenden? Java Basics - Anfänger-Themen 4
C Variablen Provided text for message may not be null Java Basics - Anfänger-Themen 9
T ComboBox getValue() zeigt null Java Basics - Anfänger-Themen 7
J null exception Array Java Basics - Anfänger-Themen 5
tobikoch String x= null Bedeutung Java Basics - Anfänger-Themen 9
C NumberFormatException: null ohne Ausnahmebehandlung stoppen Java Basics - Anfänger-Themen 7
J Int wird als Null ausgegeben Java Basics - Anfänger-Themen 8
M Prüfen auf null ohne NPE Java Basics - Anfänger-Themen 1
C Array-Eintrag wieder auf Null setzen Java Basics - Anfänger-Themen 3
C Array auf Null-Inhalte prüfen Java Basics - Anfänger-Themen 9
V NullPointerException, wenn Key und Value null sind Java Basics - Anfänger-Themen 2
M jTable bekommt null Java Basics - Anfänger-Themen 1
B MySQL (jdbc) -> connection liefert NULL Java Basics - Anfänger-Themen 3
der_Schokomuffin Hilfe gesucht: String wird auf null gesetzt! Java Basics - Anfänger-Themen 17
L Warum ist Variable null? Java Basics - Anfänger-Themen 3
J javax.servlet.ServletException: Name is null Java Basics - Anfänger-Themen 7
B if(object== null) abkürzen? Java Basics - Anfänger-Themen 6
O JavaArray Null Java Basics - Anfänger-Themen 3
U Null Exception aber keine Ahnung warum Java Basics - Anfänger-Themen 5
W NullPointerException obwohl nicht null? Java Basics - Anfänger-Themen 3
D Best Practice Konvention - Klassenmembers auf null setzen? Java Basics - Anfänger-Themen 2
I Null-Überprüfung durch Lambda-Expressions abkürzen Java Basics - Anfänger-Themen 8
M set Integer bzw. set null mit SQL DB Java Basics - Anfänger-Themen 9
I Polymorphie Null Objekt Java Basics - Anfänger-Themen 3
O Datentypen Integer mit führender Null Java Basics - Anfänger-Themen 13
DaCrazyJavaExpert Compiler-Fehler Variable nicht mit null initialisiert, trotzdem: NullPointerException Java Basics - Anfänger-Themen 28
J Einfache Frage zu "null" Java Basics - Anfänger-Themen 2
T Datei in Array einlesen "null" Java Basics - Anfänger-Themen 8
P Operatoren Parameter nicht auf null geprüft? Java Basics - Anfänger-Themen 16
K Operatoren 2D Int Array auf Null-Referenzen prüfen Java Basics - Anfänger-Themen 18
V Elemente aus einem Array mit null überschreiben Java Basics - Anfänger-Themen 4
V String Array gegen null-Eintrag sichern Java Basics - Anfänger-Themen 11
R Gleitkommazahlen ohne führende Null Java Basics - Anfänger-Themen 10
M array = null Java Basics - Anfänger-Themen 2
F String equals NULL Problem Java Basics - Anfänger-Themen 4
F JSON null macht mir ein Problem Java Basics - Anfänger-Themen 3
R Property Value als null setzen Java Basics - Anfänger-Themen 1
D Arrays.toString spuckt null aus? Java Basics - Anfänger-Themen 3
T Compiler-Fehler Null type safety (type annotations) Java Basics - Anfänger-Themen 5
F Erste Schritte Unterschied: Array "leer" / "null" Java Basics - Anfänger-Themen 3
J Fehlerhafte Ausgabe "null" Java Basics - Anfänger-Themen 2
G Threads zum Thema Threads??? null Ahnung Java Basics - Anfänger-Themen 4
W Input/Output DataOutputStream gibt NULL zurück Java Basics - Anfänger-Themen 5
J Einfach verkettet List: Ausgabe ohne null Java Basics - Anfänger-Themen 11
D Null Ausgabe obwohl wert zugewiesen Java Basics - Anfänger-Themen 5
J Alias null Java Basics - Anfänger-Themen 4
B Aliasing bei null-Objekten Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben