Pessoal não tenho noção de como fazer com que vc escreva uma frase e identifique se tem alguma letra na quela frase e ainda retorne sua posição… vou deixar um exemplo dai se puderem me dar algumas sugestões agradeceria… só que questão sem usar o metodo indexOF…
Exemplo1:
Frase : teste da pesquisa de um caracter qualquer
Procurar por : x
Retorno : -1 (não existe o caracter ?x? na frase)
Exemplo 2:
Frase : teste da pesquisa de um caracter qualquer
Procurar por : d
Retorno : 6 (índice da letra d na frase)
bom se eu entendi fiz mais ou menos isso... ele conta qtas letras tem a frase e agora como faço para ele verificar a letra???
Oi,
Sim! a logica é exatamente isso... essa é uma maneira basica de fazer, porém não deixa de ser uma ótima saida.
Seu exemplo melhorado:
Stringfrase="teste da pesquisa de um caracter qualquer";charletra_a_ser_encontrada='d';intln_quantidade=0;ArrayListposition=newArrayList();for(inti=0;i<frase.length();i++){if(frase.charAt(i)==letra_a_ser_encontrada){ln_quantidade++;position.add(i);}}System.out.println("Encontradas: "+ln_quantidade);for(inti=0;i<position.size();i++){System.out.println("Posição: "+position.get(i));}
Tchauzin!
V
VictorFarion
Muito legal o código era isso msmo que e queria... mas tem um porem a letra a ser procurada temq ue ser informada pelo usuário se eu fizer com o JoptionPane... ele não reconhece como char na hora de fazer o processo ... então gostaria de saber pra facilitar algo para converter oq foi digitado no JOptionPane para char.. tem como??? vou colar o código como eu fiz para ser melhor compreendido...
Stringl,frase;frase=JOptionPane.showInputDialog("Digite uma frase :");l=JOptionPane.showInputDialog("Digite a letra a ser procurada :");charletra_a_ser_encontrada=l;intln_quantidade=0;ArrayListposition=newArrayList();for(inti=0;i<frase.length();i++){if(frase.charAt(i)==letra_a_ser_encontrada){ln_quantidade++;position.add(i);}}System.out.println("Encontradas: "+ln_quantidade);for(inti=0;i<position.size();i++){System.out.println("Posição: "+position.get(i));}
tiagobernardo32
Muito legal o código era isso msmo que e queria... mas tem um porem a letra a ser procurada temq ue ser informada pelo usuário se eu fizer com o JoptionPane... ele não reconhece como char na hora de fazer o processo ... então gostaria de saber pra facilitar algo para converter oq foi digitado no JOptionPane para char.. tem como??? vou colar o código como eu fiz para ser melhor compreendido...
view plaincopy to clipboardprint?
1. String l,frase;
2. frase = JOptionPane.showInputDialog("Digite uma frase :");
3. l = JOptionPane.showInputDialog("Digite a letra a ser procurada :");
4.
5. char letra_a_ser_encontrada = l;
6.
7. int ln_quantidade = 0;
8.
9. ArrayList position = new ArrayList();
10.
11. for (int i=0; i
12.
13. if (frase.charAt(i) == letra_a_ser_encontrada) {
14. ln_quantidade++;
15. position.add(i);
16. }
17. }
18.
19. System.out.println("Encontradas: "+ln_quantidade);
20.
21. for (int i=0; i
22. {
23. System.out.println("Posição: "+position.get(i));
24. }
Victor,
você pode utilizar o charAt para passar a string a para char.
Ficaria assim:
Stringl,frase;frase=JOptionPane.showInputDialog("Digite uma frase :");l=JOptionPane.showInputDialog("Digite a letra a ser procurada :");charletra_a_ser_encontrada=l.charAt(0);//pega a letra que estiver na posição 0 do que foi digitado.....intln_quantidade=0;ArrayListposition=newArrayList();for(inti=0;i<frase.length();i++){if(letra_a_ser_encontrada==frase.charAt(i)){ln_quantidade++;position.add(i);}}System.out.println("Encontradas: "+ln_quantidade);for(inti=0;i<position.size();i++){System.out.println("Posição: "+position.get(i));}