LegendaryBeazt
Mitglied
Hallo,
Wir sollen einen binären Suchbaum erzeugen.
Folgende Klassen habe ich:
Benutzerverwaltung
Benutzerprofil
Und die Main Methode, wo der Suchbaum ertsellt werden soll:
Bei der Main Methode gibt es drei Probleme:
1.) In der while-Schleife (der ganze Baum soll ausgegeben werden) ist getBenutzername() ein Fehler. Wie änder ich es, damit es funktioniert?
2.) Ich lösche eine Person aus dem Baum. Sie ist dennoch noch da, wen ich sie aufrufe. Wieso? Wie kann ich es beheben?
3.) Ist die Suche -benutzerBaum.search(yoki33);- so richtig? Beim ausführen erscheint kein Ergebnis in der Konsole.
Hoffe jemand hier kann mir helfen![Big grin :D :D](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f600.png)
VG Max
Wir sollen einen binären Suchbaum erzeugen.
Folgende Klassen habe ich:
Benutzerverwaltung
Code:
public class Benutzerverwaltung {
private BinarySearchTree<Benutzerprofil> benutzerBaum;
public Benutzerverwaltung() {
benutzerBaum = new BinarySearchTree<Benutzerprofil>();
}
public void neuenNutzerAnlegen(String pBenutzername, String pPw) {
Benutzerprofil b = new Benutzerprofil(pBenutzername, pPw);
benutzerBaum.insert(b);
}
public void nutzerLoeschen(String pBenutzername, String pPw) {
Benutzerprofil b = new Benutzerprofil(pBenutzername, pPw);
benutzerBaum.remove(b);
}
public boolean profilVorhanden(String pBenutzername) {
Benutzerprofil b = new Benutzerprofil(pBenutzername, "");
Benutzerprofil ergebnis = benutzerBaum.search(b);
if(ergebnis != null) {
return true;
}
else return false;
}
}
Code:
public class Benutzerprofil implements ComparableContent<Benutzerprofil>
{
private String benutzername, pw;
/**
* Konstruktor für Objekte der Klasse Benutzerprofil
*/
public Benutzerprofil(String pBenutzername, String pPw)
{
benutzername = pBenutzername;
pw = pPw;
}
public String getBenutzername()
{
return benutzername;
}
public boolean isGreater(Benutzerprofil pProfil)
{
return this.getBenutzername().compareTo(pProfil.getBenutzername())>0;
}
public boolean isLess(Benutzerprofil pProfil)
{
return this.getBenutzername().compareTo(pProfil.getBenutzername())<0;
}
public boolean isEqual(Benutzerprofil pProfil)
{
return this.getBenutzername().compareTo(pProfil.getBenutzername())==0;
}
}
Code:
public class SUCHBAUM {
static void main(String[] args) {
// TODO Auto-generated method stub
Benutzerprofil yoki33 = new Benutzerprofil("yoki33", "yok");
Benutzerprofil udo86 = new Benutzerprofil("udo86", "udo");
Benutzerprofil susi81 = new Benutzerprofil("susi81", "susi");
Benutzerprofil jan62 = new Benutzerprofil("jan62", "jan");
Benutzerprofil michel93 = new Benutzerprofil("michel93", "michel");
Benutzerprofil tina90 = new Benutzerprofil("tina90", "tina");
Benutzerprofil Azrael11 = new Benutzerprofil("Azrael11", "Azrael");
Benutzerprofil Ezekiel23 = new Benutzerprofil("Ezekiel23", "Ezekiel");
BinarySearchTree<Benutzerprofil> benutzerBaum;
benutzerBaum = new BinarySearchTree<Benutzerprofil>();
benutzerBaum.insert(yoki33);
benutzerBaum.insert(udo86);
benutzerBaum.insert(susi81);
benutzerBaum.insert(jan62);
benutzerBaum.insert(michel93);
benutzerBaum.insert(tina90);
benutzerBaum.insert(Azrael11);
benutzerBaum.insert(Ezekiel23);
// System.out.println(tina90.getBenutzername());
while( !benutzerBaum.isEmpty()) { //Ganzer Baum Ausgeben //PROBLEM 1
System.out.println(benutzerBaum.getBenutzername());
}
benutzerBaum.remove(yoki33); //löschen PROBLEM 2
benutzerBaum.search(yoki33); //suchen PROBLEM 3
}
}
1.) In der while-Schleife (der ganze Baum soll ausgegeben werden) ist getBenutzername() ein Fehler. Wie änder ich es, damit es funktioniert?
2.) Ich lösche eine Person aus dem Baum. Sie ist dennoch noch da, wen ich sie aufrufe. Wieso? Wie kann ich es beheben?
3.) Ist die Suche -benutzerBaum.search(yoki33);- so richtig? Beim ausführen erscheint kein Ergebnis in der Konsole.
Hoffe jemand hier kann mir helfen
![Big grin :D :D](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f600.png)
VG Max