Scorrimento di una variabile String in Java

Con Java è possibile estrarre ciascuna delle lettere di una frase.

Tecnica standard

Un normale ciclo "for" con una chiamata ripetitiva della funzione "charAt" è il modo più diretto per attraversare una variabile stringa.

String str = "text here";

per (int n = 0, n

La funzione "charAt" restituisce il carattere di un indice specifico in un tempo costante. Il ciclo accede al primo carattere della catena e scorre un personaggio alla volta fino a raggiungere la fine della catena. La funzione "System.out.println" mostra il valore del carattere.

Ritorna indietro una catena

Esegui una stringa variabile in ordine inverso a partire dall'ultimo carattere e spostandosi indietro finché il ciclo raggiunge il primo carattere della stringa.

String str = "text here";

for (int n = str.length () -1, n> = 0; n -) {char c = str.charAt (n); System.out.println (c); }

Tour con un ciclo "per-ciascuno"

È possibile attraversare una stringa con un costrutto "for-each", ma prima devi chiamare la funzione "ToCharArray ()", che crea una matrice di caratteri dalla variabile stringa.

String str = "text here";

for (char c: str.toCharArray ()) {System.out.println (c); }

Sfortunatamente, la funzione "ToCharArray ()" ha un costo fisso, poiché è necessario creare un array di caratteri completamente nuovo dalla variabile String.

Cammina con un oggetto "CharacterIterator"

Un altro modo per attraversare una stringa è creare un oggetto "CharacterIterator" dalla stringa e quindi scorrere l'oggetto con un normale ciclo "for".

CharacterIterator str_it = new StringCharacterIterator ("text here");

for (char c = str_it.first (); c = CharacterIterator.DONE ;! str_it.next c = ()) {System.out.println (c); }

In alternativa, scorrere "CharacterIterator" in ordine inverso con le funzioni "last" e "previous".

for (char c = str_it.last (); c = CharacterIterator.DONE;! str_it.previous c = ()) {System.out.println (c); }