Percorra uma variável String em Java

A rolagem de uma variável String em Java é útil quando você precisa processar cada caractere na string separadamente. Uma Java String contém uma série de caracteres, como uma frase em inglês. Por exemplo, você pode exibir cada palavra em uma frase como parte de um jogo de pesquisa de palavras. Existem várias maneiras de passar por uma string, que vai das chamadas repetidas da função “charAt” para a iteração por meio de um objeto “CharacterIterator”.

Técnica padrão

Um ciclo “for” regular com uma chamada repetitiva da função “charAt” é a maneira mais direta de cruzar uma variável de string.

String str = “texto aqui”;

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

A função “charAt” retorna o caractere de um índice específico em um tempo constante. O ciclo acessa o primeiro caractere na sequência e itera um caractere por vez até atingir o final da sequência. A função “System.out.println” mostra o valor do caractere.

Ande uma corrente para trás

Passe por uma variável String na ordem inversa, começando com o último caractere e retrocedendo até que o ciclo atinja o primeiro caractere na sequência.

String str = “texto aqui”;

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

Viaje com um ciclo “para cada”

É possível atravessar uma string com uma construção “for-each”, mas primeiro você precisa chamar a função “ToCharArray ()”, que cria uma matriz de caracteres da variável String.

String str = “texto aqui”;

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

Infelizmente, a função “ToCharArray ()” vem com um custo fixo, pois você deve criar uma matriz de caracteres completamente nova a partir da variável String.

Tour com um objeto “CharacterIterator”

Outra maneira de percorrer uma string é criar um objeto “CharacterIterator” a partir da string e, em seguida, percorrer o objeto com um ciclo “for” normal.

CharacterIterator str_it = new StringCharacterIterator (“texto aqui”);

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

Como alternativa, itere pelo “CharacterIterator” na ordem inversa com as funções “last” e “previous”.

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

Referências

 

Você pode estar interessado:

Deixe um comentário