Przewijanie zmiennej String w Javie

W Javie możliwe jest wyodrębnienie każdej litery zdania.

Standardowa technika

Regularny cykl "za" z powtarzającym się wywołaniem funkcji "charAt" jest najbardziej bezpośrednim sposobem na przechodzenie przez zmienną łańcuchową.

String str = "text here";

for (int n = 0, n

Funkcja "charAt" zwraca charakter określonego indeksu w stałym czasie. Cykl uzyskuje dostęp do pierwszego znaku w łańcuchu i iteruje do przodu po jednym znaku, aż dojdzie do końca łańcucha. Funkcja "System.out.println" pokazuje wartość znaku.

Wróć z powrotem łańcuchem

Uruchom zmienną String w odwrotnej kolejności zaczynając od ostatniego znaku i przesuwając się do tyłu, aż cykl osiągnie pierwszy znak ciągu.

String str = "text here";

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

Wycieczka z cyklu "dla każdego"

Możliwe jest przechodzenie ciągu znaków za pomocą konstruktu "for-each", ale najpierw musisz wywołać funkcję "ToCharArray ()", która tworzy tablicę znaków ze zmiennej łańcuchowej.

String str = "text here";

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

Niestety, funkcja "ToCharArray ()" ma stały koszt, ponieważ musisz utworzyć całkowicie nową tablicę znaków ze zmiennej String.

Spacer z obiektem "CharacterIterator"

Innym sposobem przechodzenia przez łańcuch jest tworzenie obiektu "CharacterIterator" z ciągu, a następnie iterowanie przez obiekt w normalnym cyklu "for".

CharacterIterator str_it = new StringCharacterIterator ("tekst tutaj");

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

Alternatywnie, można wykonać iterację za pomocą "CharacterIterator" w odwrotnej kolejności z "ostatnimi" i "poprzednimi" funkcjami.

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