Cara a própria classe String em java, tem um método indexOf(); que vc consegue utiliza-lo para buscar um caracter na String. de uma olhada nesse método:
tá... mas segundo o código de exemplo (em C) ele não queria apenas o índice do primeiro caracter encontrado.
Então, por que não usar o charAt dentro do for? E se ele quiser saber todas as ocorrências do "l" por exemplo?
Boa sorte!
P
Poneis123
wellington.nogueira e mspereira ta certo… confesso q não li o código q ele postou… mal ae… mas ta ai 2 soluções: Para saber se contem um determinado caracter na String use o indexOf, para saber quantos contem use o for com charAt(). =P
P
Poneis123
Aproveitando a deixa, uma outra forma de fazer isso seria:
Stringtexto="FASDFASDFASD";StringtextoArray[]=texto.split("F");// F é o caracter q vc buscaSystem.out.println(textoArray.length-1);
Simples tb, e fica disponivel caso vc queira não só procurar 1 caracter, mas uma string. Por exemplo saber qtas vezes aparece "FA" nesta string.
Abrs.
P
pedroroxd
claudneto:
Strings="Hello World!";charc='d';for(inti=0; i < s.length(); i++) {if(s.charAt(i)==c){
System.out.println(c);}
}
Isso ae vai pegar a string "Hello World!" e vai procurar o char "d" nessa String.
Recomendo fortemente que não faça isso, usar a recursividade nesse caso é 1 pleonasmo...
Sempre quando puder evitar recursividade Evite.
Use o método indexOf
E
eltonbonato
e se eu quiser que o usuário entre com a string? qual comando uso?
vi que esse comano abaixo é de entrada.
serie ele? System.in.//+ algo?
M
mspereira
Como? Assim?
thiago.correa:
Segue para ler do console
Scanner s = new Scanner(System.in);
System.out.print("Digita aí " );
String texto = s.nextLine();
Boa sorte!
T
thiago.correa
eltonbonato:
e se eu quiser que o usuário entre com a string? qual comando uso?
vi que esse comano abaixo é de entrada.
serie ele? System.in.//+ algo?
Se você testar o exemplo que eu coloquei aqui, verá como é que se lê um texto do console!
P
pedroroxd
Pra vc ler algo do console é assim:
Scanner scn = new Scanner(System.in);
System.out.print("Digita uma string: " );
String texto = scn.nextLine();
System.out.print("Digita uma numero: " );
int numero = scn.nextInt(); //não sei se o i é maiúsculo, to sem IDE agora
W
WellingtonRamos
Falar para usar apenas o indexOf não resolve o problema sugerido pois retornará apenas a primeira ocorrência e não todas as ocorrências (não há um break no loop).
A solução do claudneto é a que mais se aproxima da proposta.
Se quiser que seja independente de ser Upper ou Lowercase, segue:
Stringstr="sAlada";//repare o primeiro A em maiúsculo.charcharacter='a';charcomparador=Character.toLowerCase(character);for(inti=0;i<str.length();i++){charcharAt=str.charAt(i);if(Character.toLowerCase(charAt)==comparador){System.out.println(character+" encontrado em "+str+" --> "+charAt);}}
W
WellingtonRamos
Recomendo fortemente que não faça isso, usar a recursividade nesse caso é 1 pleonasmo…
Sempre quando puder evitar recursividade Evite.
Use o método indexOf
Recursividade?
E, novamente, indexOf não resolve o problema sugerido 8)