For-Schleifen unterschied?

Loddakwin

Aktives Mitglied
Hallo also ich hab 2 Schleifen und versteh nicht wieso die eine funktioniert und die anderen nicht also was hier der genaue unterschied ist?
Vielleicht könnte mir das wer erklären.

Java:
static String cipherExtendedCaesar(String text, int rotation) {

        String simple = cipherSimpleCaesar(text, rotation);
        String inverse = new StringBuilder(simple).reverse().toString();
        inverse = inverse.replaceAll(" ", "");

        StringCharacterIterator simpleIter = new StringCharacterIterator(simple);
        StringCharacterIterator inverseIter = new StringCharacterIterator(inverse);

        String result = "";
        //funktioniert
        for (char sim = simpleIter.first(), inv = inverseIter.first(); sim != CharacterIterator.DONE; sim = simpleIter
                .next(), inv = inverseIter.next()) {
            if (sim == ' ') {
                result = result + " " + simpleIter.next() + inverseIter.current();
            } else {
                result = result + sim + inv;
            }
        }

        // funktioniert nicht
        for (int i = 0; i < simple.length(); i++) {
            if (text.charAt(i) == ' ') {
                result = result + " " + simple.charAt(i + 1) + inverse.charAt(i);
            } else {
                result = result + simple.charAt(i) + inverse.charAt(i);
            }
        }
        return result;
    }

lg
 

stg

Top Contributor
"Funktioniert nicht" ist keine aussagekräftige Beschreibung des Problems. Überarbeite deine Frage noch einmal, dann kann man dir auch besser helfen.
 

Loddakwin

Aktives Mitglied
Also die Zeichen werden nicht so zusammengesetzt wie bei der oberen Schleife? Bei der unteren läuft die schleife irgendwie aus dem indizesbereich ich versteh das nicht, da die obere doch dasselbe macht?

lg
 

Neue Themen


Oben