Binärbaum - Klasse Knoten - Methode Suchen

Status
Nicht offen für weitere Antworten.

Spitzbua

Mitglied
Hallo,
ich hab ein Problem bei der Implementierung von der Methode Suchen(String suchSchlüssel)

hier ist mal der Programmcode von der Klasse KNOTEN, Problem ist makiert:
Java:
public class KNOTEN
{
    private DATENELEMENT daten;
    private KNOTEN linkerNachfolger;
    private KNOTEN rechterNachfolger;
     

    public KNOTEN(DATENELEMENT d)
    {
        daten = d;
        linkerNachfolger = null;
        rechterNachfolger = null;
    }   

    
    
    public DATENELEMENT Suchen(String suchSchlüssel)
    {
        if(daten.SchluesselIstGleich(suchSchlüssel))  
        {
            return daten;
        }
        else
        {
            if(suchSchlüssel < ??? )   <----- Was muss hier rein? *
            {
                if (linkerNachfolger = null)
                {
                    return linkerNachfolger.Suchen(suchSchlüssel);
                }
                else
                {
                    return null;
                }
            }
            else
            {
                if (rechterNachfolger != null)
                {
                    return rechterNachfolger.Suchen(suchSchlüssel);
                }
               return null;
            }
        }
    }  
}

Zeile 25 *
also im Binärbaum gibt es ja einen linkenNachfolger und rechtenNachfolger wie auch am Anfang von der Klasse implementiert wird.
Mein Problem ist jetzt, an dieser makierten Stelle muss ich eine if-Abfrage machen um festzustellen ob der gesuchte Wert (suchSchlüssel) kleiner ist als der Wert des Datenelements.

Wenn ich dann aber für "???" das Wort "daten" einsetze kommt folgende Fehlermeldung:
"operator < cannot be applied to java.lang.String,DATENELEMENT"

Falls man noch eine Information braucht um mir die Antwort zu geben einfach sagen.

PS: Falls jemand auch einen Fehler nach der markierten Stelle findet bitte sagen =)
Ich kenn mich noch nich so gut aus mit Java!
 

miwoe

Mitglied
Code:
public DATENELEMENT Suchen(String suchSchluessel) {
  if (daten.getSchluessel().compareTo(suchSchluessel) == 0) {
    return daten;
  }
  else if (daten.getKeyWord().compareTo(suchSchluessel) > 0) {
    return rechterNachfolger.suchen(suchSchluessel);
  }
  else {
    return linkeNachfolger.suchen(suchSchluessel);
  }
}

Der Code geht davon, dass die Methode getSchluessel den Wert des Key aus DATENELEMENT zurückgibt, was hoffentlich ein String ist. zu beachten ist, dass dies CASE_SENSITIVE ist.

EDIT FYI: Die compareTo-Methode ist quasi der Vergleichsoperator (neben equals()) für Objekte. <> geht nur bei numerischen Werten in Java. Anderer Sprachen unterstützen dies auch bei Zeichenketten, wobei man davon absehen muss, dass dies bei dir auch nicht funktionieren würde, da die Variable daten auf kein Objekt vom Typ String zeigt und man DATENELEMENT und String ohne einen Maßstab genauso wenig vergleichen kann, wie Äppel und Birnen.
 
Zuletzt bearbeitet:

Spitzbua

Mitglied
also muss ich statt "<" den Befehl "compare to" geben?


Java:
if(daten.SchluesselIstGleich().compairTo(suchSchlüssel) > 0 )

bei dem Teil, was muss denn da in die Klammer nach SchluesselIstGleich?!

In der Klasse DATENELEMENT sieht die methode so aus


Java:
public boolean SchluesselIstGleich(String s);
 
Zuletzt bearbeitet:

Spitzbua

Mitglied
danke!

klar doch,

Java:
public interface DATENELEMENT
{

    public void InformationAusgeben();
    

    public boolean SchluesselIstGleich(String s);
}
 

miwoe

Mitglied
oh, eine Schnittstelle? Was hast du dir denn dabei gedacht? Naja, gibt es denn auch irgendwas, was die Schnittstelle implementiert?

Weiterhin denke mal darüber nach, welches Datenfeld (im Prinzip können es ja auch mehrere) denn nun der Schlüssel(Identifikator) der Elemente aus deinem Baum sein soll.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Y Wie greift man auf die Knoten in einem Binärbaum zu? Java Basics - Anfänger-Themen 5
T Binärbaum-Suche Implementation Java Basics - Anfänger-Themen 6
A Binärbaum rekursiv durchsuchen und Referenz zurückgeben Java Basics - Anfänger-Themen 4
D Werte aus einem BinärBaum in einem Array speichern Java Basics - Anfänger-Themen 1
D Binärbaum Blätter finden und Ausgeben Java Basics - Anfänger-Themen 22
O BinärBaum einfügen Java Basics - Anfänger-Themen 13
E Erste Schritte Testklasse Binärbaum Java Basics - Anfänger-Themen 10
void19 Methoden Binärbaum Inorder Traversierung in Array speichern Java Basics - Anfänger-Themen 1
A Größten Eintrag aus Binärbaum löschen Java Basics - Anfänger-Themen 4
L Ganzen BinärBaum ausgeben? Java Basics - Anfänger-Themen 3
L Binärbaum (Stammbaum) Java Basics - Anfänger-Themen 8
S Binärbaum in PreOrder in ArrayList speichern Java Basics - Anfänger-Themen 0
J Methoden Binärbaum, Traversierung in Array speichern Java Basics - Anfänger-Themen 18
K BinärBaum Java Basics - Anfänger-Themen 4
J Max. Anzahl von Knoten im Binärbaum Java Basics - Anfänger-Themen 3
M Werte der Knoten in Binärbaum addieren (iterativ) Java Basics - Anfänger-Themen 6
C Binärbaum mit grafischer Ausgabe Java Basics - Anfänger-Themen 0
J Binärbaum formatiert ausgeben. Java Basics - Anfänger-Themen 7
P Listen sortieren mit Binärbaum gibt keine Ausgabe ab 10000 Integern Java Basics - Anfänger-Themen 14
E Binärbaum - von rekursiv zu iterativ Java Basics - Anfänger-Themen 10
W Größtes Element im unsortierten Binärbaum Java Basics - Anfänger-Themen 7
N Generischer Binärbaum - löschen Java Basics - Anfänger-Themen 1
M Binärbaum mit parent-Zeigern Java Basics - Anfänger-Themen 1
B Methoden BinärBaum als String Knoten löschen Java Basics - Anfänger-Themen 5
S Binärbaum kopieren Java Basics - Anfänger-Themen 6
B Binärbaum mit java implementieren! Java Basics - Anfänger-Themen 5
D Binärbaum Suche Java Basics - Anfänger-Themen 5
D Binärbaum probleme Java Basics - Anfänger-Themen 4
P Binärbaum - Primärschlüssel Java Basics - Anfänger-Themen 3
X Fehler Binärbaum Java Basics - Anfänger-Themen 6
PaulG Fragen zu Binärbaum Java Basics - Anfänger-Themen 21
N Binärbaum/Implementierung Java Basics - Anfänger-Themen 9
P Binärbaum Ordnungsproblem Java Basics - Anfänger-Themen 8
P Generischer Binärbaum (compareTo Frage) Java Basics - Anfänger-Themen 4
P einen binärbaum implementieren Java Basics - Anfänger-Themen 4
M Binärbaum - Problem bei Knoten anhängen / löschen Java Basics - Anfänger-Themen 5
B Binärbaum höhe herausfinden Java Basics - Anfänger-Themen 12
L Rot Scharz Baum von Binärbaum erben Java Basics - Anfänger-Themen 9
S Klassen Aufgabe: Binärbaum überprüfen Java Basics - Anfänger-Themen 16
S Binärbaum Java Basics - Anfänger-Themen 9
S Variable Parameterliste in Binärbaum Java Basics - Anfänger-Themen 2
N BinärBaum Hilfestellung Java Basics - Anfänger-Themen 8
S Binärbaum prüfen, ob sortiert oder unsortiert Java Basics - Anfänger-Themen 6
W Binärbaum zahlen addieren Java Basics - Anfänger-Themen 7
S Binärbaum Java Basics - Anfänger-Themen 7
I Binärbaum Java Basics - Anfänger-Themen 5
S Bitte um Hilfe beim unsortierten Binärbaum!! Java Basics - Anfänger-Themen 6
J Binärbaum getSize Java Basics - Anfänger-Themen 4
P Fragen zum Binärbaum Java Basics - Anfänger-Themen 3
S Binärbaum implementieren Java Basics - Anfänger-Themen 6
K Tiefe im Binärbaum Java Basics - Anfänger-Themen 2
G generischer binärbaum Java Basics - Anfänger-Themen 9
G Binärbaum und Wrapperklassen Java Basics - Anfänger-Themen 6
F Binärbaum codieren. Codeproblem! Java Basics - Anfänger-Themen 4
D rekursion im binärbaum Java Basics - Anfänger-Themen 11
0 Binärbaum als verkettete Liste Java Basics - Anfänger-Themen 3
T Binärbaum - noch ein "klitzekleiner Fehler" Java Basics - Anfänger-Themen 4
B Binärbaum auf Vollständigkeit prüfen Java Basics - Anfänger-Themen 15
G Frage zur einfügen in einem Binärbaum Java Basics - Anfänger-Themen 21
G Binärbaum grafisch darstellen Java Basics - Anfänger-Themen 4
W Nochmal das Decorator - Mit der abstrakten Klasse möglich? Java Basics - Anfänger-Themen 10
I @Inject in normaler Klasse? Java Basics - Anfänger-Themen 4
P Enum oder normale Klasse? Java Basics - Anfänger-Themen 10
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
P Wie kann ich meine Keylistener Klasse unterscheiden lassen, von welcher "Quelle" der Input kommt? Java Basics - Anfänger-Themen 2
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
Amina556 Eigene Klasse definieren Java Basics - Anfänger-Themen 9
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
M Klasse in Runden Klammern bei Objektimplementierung Java Basics - Anfänger-Themen 4
J Klassen Klasse als Komponententyp bei Feldern Java Basics - Anfänger-Themen 2
J Klassen Instanzen einer Klasse in einer anderen unabhängigen Klasse nutzen Java Basics - Anfänger-Themen 4
Detlef Bosau nichtstatische Innere Klasse, this Pointer. Java Basics - Anfänger-Themen 47
C Unbekannte Methode add bei Klasse die JTree erweitert Java Basics - Anfänger-Themen 14
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
J Zugriff auf eine 2. Klasse die per UI-Designer erstellt wurde Java Basics - Anfänger-Themen 1
B Wie kann ich folgende Klasse/Methode per Button ausführen? Java Basics - Anfänger-Themen 1
B Klasse statisch erstellen da n-mal geladen Java Basics - Anfänger-Themen 3
T Meine Klasse wird nicht gefunden Java Basics - Anfänger-Themen 1
XWing Random Punkte erstellen mit der Random klasse Java Basics - Anfänger-Themen 15
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
frager2345 Optional Klasse Java Java Basics - Anfänger-Themen 2
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
H Klassen Typ und Intitialisierungs-Klasse, wer bestimmt was? Java Basics - Anfänger-Themen 1
P Array vom Typ Klasse Java Basics - Anfänger-Themen 18
T Thread beenden aus zweiter Klasse Java Basics - Anfänger-Themen 4
frager2345 Java Klasse Buch verwalten Java Basics - Anfänger-Themen 0
frager2345 Java eigen Klasse zum verwalten von Büchern Java Basics - Anfänger-Themen 3
T Zugriff auf Control anderer Klasse Java Basics - Anfänger-Themen 5
H Compiler-Fehler Klasse in einem Package wird nicht gefunden bzw. akzeptiert Java Basics - Anfänger-Themen 12
B Attribute eines Objekts einer Klasse durch statische Methode einer 2. Klasse ändern? Java Basics - Anfänger-Themen 32
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
G zwei Instanzen einer Klasse Java Basics - Anfänger-Themen 29
C Int an andere Klasse übergeben Java Basics - Anfänger-Themen 26
sserio Wie kann man nach einer Klasse fragen? Java Basics - Anfänger-Themen 12
B Klasse "Character" Java Basics - Anfänger-Themen 2
F Suche nach betreuender Person für eine Jahresarbeit der 12. Klasse. Java Basics - Anfänger-Themen 6
H Mit setter-Methode JLabel in einer andern Klasse ändern. Java Basics - Anfänger-Themen 40
U Warum kann ich, auf private Variablen zugreifen, wenn ich ein Objekt in der Klasse, die private Variablen hat erstelle und dort drauf zugreifen will? Java Basics - Anfänger-Themen 7
U Warum kann ich die Methode in der ENUM Klasse nicht aufrufen? Und warum geht die Switch nicht? Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben