Hallo,
ich schreibe derzeit ein Programm, dass mit Hilfe eines Suchbaumes das Objekt Person (mit Namen und Telefonnummer) speichert.
Soweit läuft alles prima, es lässt sich alles gut einlesen und in den verschiedenen Verfahren durchlaufen und dann ausgeben. Mein Problem liegt aber in einer Methode (boolean), die Prüfen soll, ob eine bestimmte Person, die durch ihren Namen identifiziert werden soll, existiert.
Den eigentlichen Quellcode haben wir bereits in der Vorlesung durchgearbeitet. Nun gibt er mir aber keine richtigen Ergebnisse aus.
Ich denke es wird ein recht simpler Denkfehler sein.
Hier relevante Quellcode.
Und hier der eigentliche Aufruf:
Falls noch was benötigt wird, einfach bescheid sagen.
Ich bedanke mich schon mal für die Hilfe.
Gruß,
DasDogma.
ich schreibe derzeit ein Programm, dass mit Hilfe eines Suchbaumes das Objekt Person (mit Namen und Telefonnummer) speichert.
Soweit läuft alles prima, es lässt sich alles gut einlesen und in den verschiedenen Verfahren durchlaufen und dann ausgeben. Mein Problem liegt aber in einer Methode (boolean), die Prüfen soll, ob eine bestimmte Person, die durch ihren Namen identifiziert werden soll, existiert.
Den eigentlichen Quellcode haben wir bereits in der Vorlesung durchgearbeitet. Nun gibt er mir aber keine richtigen Ergebnisse aus.
Ich denke es wird ein recht simpler Denkfehler sein.
Hier relevante Quellcode.
Code:
public boolean search(String key) {
//if(root == null) return false;
return search(root,key);
}
private boolean search(Knoten p, String key) {
boolean out;
if(p == null) out = false;
else if(key == p.pers.name) {
out = true;
} else if(key.compareTo(p.pers.name) < 0) {
out = search(p.left, key);
} else {
out = search(p.right, key);
}
return out;
}
Und hier der eigentliche Aufruf:
Code:
case 's' : System.out.println("Welche Person suchen?");
name = scan.next();
boolean gef = b.search(name);
if (gef) System.out.println("gesuchte Person " + name + "wurde gefunden!");
else System.out.println("gesuchte Person " + name + " wurde nicht gefunden!");
break;
Falls noch was benötigt wird, einfach bescheid sagen.
Ich bedanke mich schon mal für die Hilfe.
Gruß,
DasDogma.