Onde esta o n-esimo caracter?

8 respostas
D

Ola pessoal, alguem sabe como posso achar um e-enesimo caracter em uma string sem fazer um ciclo for na string? Eu olhei a API da classe string e nao achei nada do genero.
Exemplo:
String a = “gato, cachorro, macaco, gorila, biscoito”;
Eu queto saber em que posiçao esta a terceira virgola, nesse caso, a posiçao é 23.

Agradeço desde ja.

8 Respostas

joaocarlos86

Você pode usar o String.indexOf()

Vini_Fernandes

O metodo String.indexOf() não vai funcionar, para isso tente:

String.charAt(int index)

abrss

D

O indexOf nao resolve. Ele procura uma string a partir de um index.

String a = "gato, cachorro, macaco, gorila, biscoito"; //se eu colocar System.out.println("Posiçao " + a.indexOf(",",3));

Eu estarei dizendo, “A partir do index 3 eu quero achar a virgola.” E na verdade oq eu quero é “Onde esta’ a terceira virgola.”.
Eu poderia até fazer um for para procurar, mas se a string for muito grande o loop começa a ficar lento.

Vini_Fernandes

Novamente, tente charAt(int).

D

Tb nao resolve. Nesse caso estou dizendo “Me da o caracter que esta no indice i” e nao é isso que eu quero, oq eu quero é “Onde esta a terceira virgola.”

Vini_Fernandes

Cara, não há API para isso, ou seja, você vai ter que criar.

abrs…

maior_abandonado

a questão aqui é lógica… você não pode usar o loop for especificamente ou não pode usar nenhum loop? pode usar recursão?

maior_abandonado

com recursão você consegue fazer… testei aqui e funcionou.

vou deixar você quebrar a cabeça para descobrir como.

Criado 9 de fevereiro de 2012
Ultima resposta 9 de fev. de 2012
Respostas 8
Participantes 4