Verkettete Objektliste Funktion "enthaelt"

pf20

Neues Mitglied
Hallo Leute,
Als ich vor kurzem noch zur Schule ging, haben wir über Objektorientierte Programmierung in Java gesprochen. Darunter auch Datenstrukturen wie der Verkettete Liste. Ich programmiere mit Eclipse. Alle Namen in den Codeschnipseln sind frei erfunden! Hier ein paar Codeschnipsel bevor ich das Problem erläutern kann:
Die Steuerungsklasse:
Java:
public class Steuerung {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Kontakt meinKontakt;
        VerketteteListe<Kontakt> MeineKontaktListe = new VerketteteListe<Kontakt>();

        MeineKontaktListe.anhaengen( new Kontakt( "Schmitt", "Holger", "H.Schmitt@web.de", "0711 88888"  ) );
        MeineKontaktListe.anhaengen( new Kontakt( "Müller",  "Klaus", "K.Mueller@web.de",  "0711 0815"   ) );
        MeineKontaktListe.anhaengen( new Kontakt( "Maier",   "Fritz", "F.Maier@gmail.com", "0711 007"    ) );
        MeineKontaktListe.anhaengen( new Kontakt( "Schmidt", "Franz", "F.Schmidt@web.de",  "0711 318810" ) );
        MeineKontaktListe.anhaengen( new Kontakt( "Wolf",    "Bernd", "B.Wolf@gmail.com",  "0711 319910" ) );
        
        int anzahlKontakte = MeineKontaktListe.anzahl_elemente();
        for ( int i=0; i < anzahlKontakte; i++ ) {
            meinKontakt = MeineKontaktListe.inhalt(i);
            meinKontakt.ausgebenKontakt();
        }
        if (MeineKontaktListe.enthaelt(Kontakt("*", "Franz", "*", "*"))) {
            System.out.println("In der Liste ist jemand mit dem Vornamen Franz enthalten");
        }
    }

}
Hier der Wichtigste Ausschnitt aus der Klasse der Verketteten Liste:
Java:
Typ inhalt (int pIndex) {
        
        if( pIndex < 0 ) { return null; }
        
        Knoten<Typ> meinKnoten = erster;
        for ( int i = 0; i < pIndex; i++ ) {
            if ( meinKnoten == null ) { return null; }
            meinKnoten = meinKnoten.gibNaechsten();
        }
        
        if ( meinKnoten == null ) { return null; }
        
        return (Typ)meinKnoten.gibInhalt();
    } // end of inhalt
Und die Funktion "Enthaelt" aus der Klasse VerketteteListe:
Java:
boolean enthaelt ( Typ pInhalt ) {
        
        Knoten<Typ> meinKnoten = erster;
        while (meinKnoten != null) {
            
            if ( (Typ)meinKnoten.gibInhalt() == (Typ)pInhalt ) {
                return true;
            }
            meinKnoten = meinKnoten.gibNaechsten();
        }
        return false;
    } // end of enthaelt
Hier die Klasse des Knotens (Kettenglied der Verketteten Liste):
Java:
public class Knoten<Typ> {
    private Typ inhalt;
    private Knoten<Typ> naechster;

    Knoten( Typ pInhalt ) {
        inhalt = pInhalt;
    }
    
    void setzeNaechsten( Knoten<Typ> pKn ) {
        naechster = pKn;
    }

    Knoten<Typ> gibNaechsten() {
        return naechster;
    }
    
    void setzeInhalt( Typ pInhalt ) {
        inhalt = pInhalt;
    }
    
    Typ gibInhalt() {
        return (Typ)inhalt;
    }

}
Und zu guter letzt die Klasse Kontakt:

Java:
public class Kontakt {
    String aName;
    String aVorname;
    String aEMail;
    String aTelefon;
    
    public Kontakt ( String pName, String pVorname, String pEMail, String pTelefon ) {
        aName    = pName;
        aVorname = pVorname;
        aEMail   = pEMail;
        aTelefon = pTelefon;
    }


}
Hier mein Problem: Ich möchte von der Steuerungsklasse aus die Funktion enthaelt() aufrufen, um abzufragen, ob in der Liste jemand mit dem Vornamen "Franz" enthalten ist. Selbst wenn ich als Übergabeparameter einen neuen Kontakt anlege und Kontakt-Objektattribute genau abschreibe, gibt sie trotzdem ein falsch zurück. Sie gibt nur ein true zurück, wenn ich die Variable meinKontakt mit dem pointer auf einen Index als Übergabeparameter. Also z. B. MeineKontaktListe.enthaelt(MeinKontakt.inhalt(4));.Aber das ist ja kein richtiges benutzen der enthaelt-funktion. Wie lautet also die richtige Syntax, um abzufragen, ob in der Liste ein bestimmter Kontakt enthalten ist?
 

KonradN

Super-Moderator
Mitarbeiter
Referenz-Typen werden nicht mit == verglichen.

Der Vergleich mit == bei Referenzen prüft nicht den Inhalt sondern nur die Referenz und da es zwei Objekte sind, ist es nicht gleich.

Was du alsbald willst ist die Methode equals die du in deiner Klasse dann überschreiben musst.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M doppelt verkettete Listen Allgemeine Java-Themen 2
M einfach verkettete Liste verstehen Allgemeine Java-Themen 23
K verkettete Liste Allgemeine Java-Themen 3
OSchriever Einfach verkettete Liste ändern Allgemeine Java-Themen 43
K Einfache Verkettete Liste mit Node Allgemeine Java-Themen 3
S Verkettete (Teil)Liste sortieren ( rekursiv bis n) Allgemeine Java-Themen 2
T Verkettete Suche Allgemeine Java-Themen 6
Z Sortiertes Einfügen in doppelt verkettete Liste Allgemeine Java-Themen 5
J Rekursion oder Iteration - verkettete Listen Allgemeine Java-Themen 8
L verkettete Listen oder Arrays + Indexlisten effizienter? Allgemeine Java-Themen 3
D Einfach verkettete Liste Allgemeine Java-Themen 3
R doppelt verkettete Liste: Fehler beim Einfügen Allgemeine Java-Themen 3
chik Doppelt verkettete Liste bzw. Zirkulärliste (kleiner Fehler, den ich nicht finde) Allgemeine Java-Themen 4
X einfach verkettete Liste und Insertion Sort Allgemeine Java-Themen 3
R Verkettete Liste Allgemeine Java-Themen 5
L Doppelt Verkettete Listen Allgemeine Java-Themen 6
E Verkettete Listen Allgemeine Java-Themen 5
F Doppelt verkettete Liste sortieren? Allgemeine Java-Themen 8
M doppelt verkettete Listen? Allgemeine Java-Themen 5
M Schlange als verkettete Liste Allgemeine Java-Themen 4
J Doppelt verkettete Liste Allgemeine Java-Themen 6
Alex_99 Programm stürzt beim Aufruf der Funktion ab? Text ausgeben Allgemeine Java-Themen 45
G Was brauche ich, um eine eigene "Search for updates"-Funktion einzubauen? Allgemeine Java-Themen 1
Tobero Meine Funktion für das beinhalten eines Punktes in einem Kreis funktioniert nicht Allgemeine Java-Themen 5
S Validation Annotation Funktionsparameter vs Funktion vs Attribut Allgemeine Java-Themen 0
R Variablen String mit split-Funktion aufteilen Allgemeine Java-Themen 7
A Serialize - Add Funktion Allgemeine Java-Themen 1
B Discord Bot - Funktion wird nicht aufgerufen Allgemeine Java-Themen 1
A Variablen Funktion übergibt den Wert nicht Allgemeine Java-Themen 13
J Überschriebene Funktion soll nicht die super Funktion aufrufen Allgemeine Java-Themen 4
Aruetiise Funktion(y = mx+n) in String speichern und berechnen Allgemeine Java-Themen 9
B Hilfe!! spiel um Funktion des Selektierens erweitern (mit ASCII-Tabelle) Allgemeine Java-Themen 3
MiMa ArrayList Rückgabewerte aus einer Funktion Allgemeine Java-Themen 15
B Gibt es eine Funktion die den Datentyp einer Variablen ermittelt? Allgemeine Java-Themen 8
A Plot funktion applet Allgemeine Java-Themen 4
S Methoden "Unschöne" Break-Anweisung aus verschachtelter Funktion entfernen Allgemeine Java-Themen 11
R Rückgabe eines Arrays durch Funktion Allgemeine Java-Themen 9
T Best Practice MD5 Funktion Allgemeine Java-Themen 9
perlenfischer1984 Testng : Funktion mit mehreren Parametern testen Allgemeine Java-Themen 5
L Stack overflow bei einer endrekursiven Funktion (Anwendung: Spezialform des Package Merge) Allgemeine Java-Themen 4
C Klassen Problem mit Funktion einer Generischen Klasse die ein Interface implementiert Allgemeine Java-Themen 0
O JNA Zugriff auf Funktion aus DLL Allgemeine Java-Themen 0
Lord.Djerun (Taschenrechner) jButtons mit gleicher Funktion zusammenfassen Allgemeine Java-Themen 6
I Javafx Open/Read und Tree Funktion Allgemeine Java-Themen 14
C Generic-Funktion nur bei bestimmten Typen erlauben Allgemeine Java-Themen 6
F Classpath als Argument in Funktion übergeben Allgemeine Java-Themen 3
H SHA256 update-Funktion Allgemeine Java-Themen 3
J Methoden Abgeänderte Fibonacci Funktion Allgemeine Java-Themen 2
G Polymorphie Funktion als Parameter Allgemeine Java-Themen 8
F Funktion nur in einem Zeitraum Allgemeine Java-Themen 5
H java.util.Timer und Funktion mit SQL Exception Allgemeine Java-Themen 5
M Anzahl der Durchläufe einer Funktion errechnen Allgemeine Java-Themen 6
J Autofill Funktion Uhrzeit Allgemeine Java-Themen 19
G Timeout funktion zu einer Eventlogabfrage Allgemeine Java-Themen 2
M Funktion gesucht: Text vektorisieren Allgemeine Java-Themen 20
K Warum wartet diese Funktion auf beenden des Threads? Allgemeine Java-Themen 3
N JNI Callback Funktion Allgemeine Java-Themen 8
D Problem bei der Darstellung einer trigonometrischen Funktion Allgemeine Java-Themen 2
E Funktion sperren bis Unterfunktionen ferig sind Allgemeine Java-Themen 3
D Referenz einer Funktion aus einer anonymen Klasse? Allgemeine Java-Themen 3
J Funktion zu einer Uhrzeit/datum ausführen Allgemeine Java-Themen 4
S eigene Update Funktion Allgemeine Java-Themen 5
Ark Name für Funktion gesucht Allgemeine Java-Themen 5
Screen Eine mathematische Funktion als Argument für eine Methode - Matheparser? Allgemeine Java-Themen 21
Daniel_L Bug in Copy-Funktion bei HTML-Editorpane? Allgemeine Java-Themen 4
multiholle Aufrufer einer Funktion ermitteln Allgemeine Java-Themen 13
W JMF- Player.getDuration() Funktion spinnt Allgemeine Java-Themen 2
C JTextComponent - mit Schlagwörter Funktion aufrufen Allgemeine Java-Themen 2
SuperSeppel13 php-funktion aufrufen Allgemeine Java-Themen 5
M get Funktion von Vector Allgemeine Java-Themen 4
V Wie Enum an Funktion "übergeben" ? Allgemeine Java-Themen 4
G Webserver Funktion Allgemeine Java-Themen 3
S Random funktion in einer Grafischen Oberfläche Allgemeine Java-Themen 10
C Funktion stoppt alles Allgemeine Java-Themen 7
G Funktion aus array aufrufen Allgemeine Java-Themen 16
P Funktion vorhanden - wie auf Transitivität erweitern? Allgemeine Java-Themen 6
N Funktion als Parameter einer anderen Funktion Allgemeine Java-Themen 5
lumo Row Header ist public, zeigt die funktion aber nicht public Allgemeine Java-Themen 8
P Unterschied zwischen Funktion und Methoden Allgemeine Java-Themen 3
B E-Funktion mit Java Allgemeine Java-Themen 9
S verstehe diese Funktion nicht Allgemeine Java-Themen 6
S Referenz auf Funktion? Allgemeine Java-Themen 16
K Funktion unabhängig vom Namen aufrufen Allgemeine Java-Themen 5
F Vorteile -> Funktion Allgemeine Java-Themen 2
P gegenstück zur php funktion gzinflate()? Allgemeine Java-Themen 3
D Problem bei Aufruf einer Funktion Allgemeine Java-Themen 3
J Welche Daten für Ative-X Funktion? Allgemeine Java-Themen 5
X Replay Funktion realisieren? Allgemeine Java-Themen 5
J Funktion alle Möglichkeiten berücksichtigen Allgemeine Java-Themen 5
P DLL Funktion benutzen Allgemeine Java-Themen 3
S Fortran Funktion mit JNI aufrufen: java.lang.UnsatisfiedLink Allgemeine Java-Themen 2
T Pipe-Funktion - Prozente falsch? Allgemeine Java-Themen 8
A undo funktion in Malprogramm Allgemeine Java-Themen 15
J Method.invoke -> Exceptions der Funktion abfangen Allgemeine Java-Themen 5
M Frage zu resume funktion bei downloadmanager Allgemeine Java-Themen 7
M Funktion liest nach Textaus aus der vorigen Zeile Allgemeine Java-Themen 2
G nichtabstrakte Funktion zu einer Interface hinzufügen Allgemeine Java-Themen 6
M Funktion des JRE Allgemeine Java-Themen 8
B Nach Deserialisieren: Elemente des JFrames ohne Funktion Allgemeine Java-Themen 5
A funktion schiffeZeichnen zwei mal aufrufen Allgemeine Java-Themen 16

Ähnliche Java Themen

Neue Themen


Oben