Java - String in String-Array finden

  • Hallo,
    ich habe die Aufgabe in Java eine Funktion zu erstellen, welche einen String in einem String-Array findet und die Stelle anzeigt.
    Mein Problem ist, dass das nur funktioniert, wenn ich mit einem "break" arbeite.
    Da mein Lehrer immer sagt, dass "breaks" eine unschöne Lösung sind, versuchte ich die Bedingung in einer Zählschleife so zu formulieren, dass es ohne ein "break" funktioniert. Das funktioniert aber leider nicht.

    Ich bekomme beim Öffnen der Datei die Fehlermeldung:
    "index out of bounds exception"

    Hier der Konstruktor:

    Code
    public Aufgabe(){
            String[][] textListe = {
                {"Diese", "Aufgabe", "ist", "wirklich", "sehr", "kompliziert"},
                {"Aber", "für", "mich", "kein", "Problem"}
            };
            String text = "Aufgabe";
            System.out.println(index(textListe, text));
        }


    Das ist die funktionierende Funktion(mit break):


    Und das ist meine "Problemfunktion"(ohne break):

    Ich hoffe ihr könnt mir erklären bzw. einen Hinweis geben, warum die letztere Funktion nicht so funktioniert wie sie soll, d.h. warum sie nicht das selbe zurückgibt, wie die funktionierende.
    Danke im vorraus!

    Computer lösen Probleme, die man vorher nicht hatte.

  • Hi, also zu deinem Problem möchte ich dir die Möglichkeit geben, die Lösung selber zu verstehen.

    IndexOutOfBounds ist ein Fehler, der bei einem Array, Liste , usw. immer dann auftritt, wenn du auf einen ungültigen Zeiger der Liste zuzugreifen versuchst.

    Davon aber abgesehen ist es schon ziehmlich böse was du da versucht, du machst in einer FOR-Schleife eine Abfrage, ob dieser String der aktuellen Indexe mit dem Suchstring übereinstimmt, sowas gehört in eine if-Abfrage.
    -> Wenn du nun nichst findest würde übrigens deine Schleife ebenfalls so in den index out of bounds laufen

    Weiterhin machst du keine if-Abfrage bei der zweiten Schleife, du gest die Elemente einfach durch und machst JEDES mal eine Zuweisung zum Rückgabestring

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

    Einmal editiert, zuletzt von K.Y.L.T. (27. März 2009 um 19:12)