Boyer-Moore-Algorithmus

HendrikSai

Grünschnabel
Moin,

ich brauche ein wenig Hilfe.... wenn ein Buchstabe nicht im "muster" ist, dann soll jump (Länge der Versetzung) = ch.length+1 sein, also so lang wie das "muster"...
Leider weiß ich nicht wie ich "jump" einen Wert zuweisen kann, wenn der Buchstabe *nicht* im char-Array ist. Ich hab schon eine Lösung, wenn der Buchstabe im char-Array ist.

Java:
public static int jump(String muster, char c) {

        int jump = 0;
        char[] ch = new char[muster.length()];

        // char-Array befüllen mit muster
        for (int i = 0; i < muster.length(); i++) {
            ch[i] = muster.charAt(i);
        }

        // jump einen Wert zuweisen (Länge der Versetzung)
        for (int i = 0; i < ch.length; i++) {
            if (ch[i] == c) {
                jump = ch.length - i - 1;
            }
        }
        return jump;
    }
 
Warum ich jump schon einen int-Wert zuweisen musste, damit ich "return jump;" schreiben konnte weiß ich auch nicht. Vielleicht hat da auch jemand einen Tipp :)
 
Zurück