Hallo, ich bin etwas unsicher ob mir überhaupt jemand helfen wird, aber falls doch jemand bereit ist habe ich folgendes Problem:
Es handelt sich ein simples Telefonlistenprogramm in Java mit nur 2 Klassen. Es geht einzig um das Üben und Verstehen der Zeiger.
Programm besteht aus der Klasse "TelefonlistenEintrag" und einmal "Telefonliste". In der Telefonliste gibt es die Methode "addEintrag", womit man einen neuen Telefonlisten-Eintrag generieren kann. In dieser Methode muss ich allerdings erst einmal mit "getEintragAusListe" Prüfen, ob ein Eintrag exisiert und falls ja, zurückliefern. Und mit dieser Private Methode habe ich auch mein Problem. Ich hoffe ihr könnt mir erklären, warum der untere Code (meiner) nicht funktioniert.
Telefonlisteneintrag TelefonlistenKopf; //Zeiger auf das erste Objekt, das erzeugt wird
//////////////////private Methode//////////////////////
private Telefonlisteneintrag getEintragAusListe(String name) {
/* Liefere das Eintrags-Objekt aus der Liste oder null, falls nicht
vorhanden */
Telefonlisteneintrag aktEintrag = telefonlistenKopf;
boolean gefunden = false;
/* Liste durchlaufen, bis das gesuchte Element gefunden ist */
while ((aktEintrag != null) && !gefunden) {
if (aktEintrag.getName().equals(name)) {
gefunden = true;
} else {
aktEintrag = aktEintrag.getNachfolger();
}
}
return aktEintrag;
}
....................................................................................................
Bei meiner Version bekomme ich allerdings eine Null Pointer Exception:
///////private Methode///////
private Telefonlisteneintrag getEintragAusListe(String name){
Telefonlisteneintrag aktEintrag = telefonlistenKopf;
boolean gefunden = false;
if(aktEintrag != null){
while(!gefunden){
if(aktEintrag.getName().equals(name)){
gefunden = true;
}else{
aktEintrag = aktEintrag.getNachfolger();
}
}
}
return aktEintrag;
}
Woran kanns liegen?
Vielen Dank im Voraus!
Es handelt sich ein simples Telefonlistenprogramm in Java mit nur 2 Klassen. Es geht einzig um das Üben und Verstehen der Zeiger.
Programm besteht aus der Klasse "TelefonlistenEintrag" und einmal "Telefonliste". In der Telefonliste gibt es die Methode "addEintrag", womit man einen neuen Telefonlisten-Eintrag generieren kann. In dieser Methode muss ich allerdings erst einmal mit "getEintragAusListe" Prüfen, ob ein Eintrag exisiert und falls ja, zurückliefern. Und mit dieser Private Methode habe ich auch mein Problem. Ich hoffe ihr könnt mir erklären, warum der untere Code (meiner) nicht funktioniert.
Telefonlisteneintrag TelefonlistenKopf; //Zeiger auf das erste Objekt, das erzeugt wird
//////////////////private Methode//////////////////////
private Telefonlisteneintrag getEintragAusListe(String name) {
/* Liefere das Eintrags-Objekt aus der Liste oder null, falls nicht
vorhanden */
Telefonlisteneintrag aktEintrag = telefonlistenKopf;
boolean gefunden = false;
/* Liste durchlaufen, bis das gesuchte Element gefunden ist */
while ((aktEintrag != null) && !gefunden) {
if (aktEintrag.getName().equals(name)) {
gefunden = true;
} else {
aktEintrag = aktEintrag.getNachfolger();
}
}
return aktEintrag;
}
....................................................................................................
Bei meiner Version bekomme ich allerdings eine Null Pointer Exception:
///////private Methode///////
private Telefonlisteneintrag getEintragAusListe(String name){
Telefonlisteneintrag aktEintrag = telefonlistenKopf;
boolean gefunden = false;
if(aktEintrag != null){
while(!gefunden){
if(aktEintrag.getName().equals(name)){
gefunden = true;
}else{
aktEintrag = aktEintrag.getNachfolger();
}
}
}
return aktEintrag;
}
Woran kanns liegen?
Vielen Dank im Voraus!
Zuletzt bearbeitet: