• Hallo liebes Forum!
    Ich bin aus wien und 15 jahre alt!

    Wir haben eine Aufgabe bis morgen und ich brauhe DRINGEND eure hilfe da mir keiner helfen konnte!!
    wir arbeiten mit BlueJ....

    Das hier ist das was ich bis jetzt zusammengebracht habe:
    nino.grueneis.com/Telefonbuch.rar

    (bei binaercode ist in der zeile mit length was falsch aber KA WAS!!)

    DANKE JETZT SCHON :) :thumb:

    lg nino

  • 1. In der Klasse Telefonbuch gibt es keine Methode length(). Die sollte vermutlich "meinTelefonbuch.length" zurückgeben.

    2. In Binaersuche hast du keine Referenz auf Telefonbuch. Du wirst der Klasse Binaersuche irgendwo (z.b. im Constructor) das Telefonbuch übergeben müssen.

    3. In Zeile 14 in Binaersuche.java steht "arrayname" - was soll das sein? Das wird nirgends deklariert.

    Dipper dipper dii dipper dii dipper dii duuu

  • Danke für die schnelle antwort!

    1. In der Klasse Telefonbuch gibt es keine Methode length(). Die sollte vermutlich "meinTelefonbuch.length" zurückgeben.


    also ich dachte die gibts schon im vorhinaus von JAVA....
    wo soll ich die methode deklarieiren?

    2. In Binaersuche hast du keine Referenz auf Telefonbuch. Du wirst der Klasse Binaersuche irgendwo (z.b. im Constructor) das Telefonbuch übergeben müssen.


    in welchem construktor und wie?

    3. In Zeile 14 in Binaersuche.java steht "arrayname" - was soll das sein? Das wird nirgends deklariert.


    ups.. da meine ich Telefonbuch!

    DANKE

  • Also im Moment schauts für mich am gscheitesten aus, wenn du es so in etwa machst.

    In Telefonbuch.java hinzufügen:

    Code
    public int length() {
            return meinTelefonbuch.length;
        }
        public Telefonbucheintrag eintrag(int i) {
            return meinTelefonbuch[i];
        }


    (Du könntest auch meinTelefonbuch public machen, aber das verletzt die Kapselung)

    Im Constructor von Binaersuche fügst du den Parameter "Telefonbuch telbuch" hinzu und änderst die Verweise darauf.

    Jetzt hast du noch eine Aufgabe und zwar wie du das mit dem compareTo löst. Ich würde sagen, du implementierst diese Methode in Telefonbucheintrag mit der Signatur "int compareTo(String n)", die ein compareTo mit "name" macht.

    btw: @Binaersuche.java: Anstatt "gefunden == false" ist "!gefunden" lesbarer.
    btw2: @Binaersuche.java: Wenn du zuerst ein "return" machst (im default-Zweig), brauchst du danach kein "break", da er das ohnehin nie erreichen wird.
    btw3: @Binaersuche.java: Versichere dich, dass du in der Methode immer einen Wert zurückgibst. Im Moment passiert das nicht. Muss aber sein, weil sie vom Typ "int" ist.

    So, das war jetzt aber genug Hilfe. Damit schaffst du es schon.

    Dipper dipper dii dipper dii dipper dii duuu

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!