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)
[quote=VictorFarion]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???
[/quote]
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:
[code]String
frase = “teste da pesquisa de um caracter qualquer”;
char letra_a_ser_encontrada = ‘d’;
int ln_quantidade = 0;
ArrayList position = new ArrayList();
for (int i=0; i<frase.length(); i++) {
if (frase.charAt(i) == letra_a_ser_encontrada) {
ln_quantidade++;
position.add(i);
}
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…
[code]String l,frase;
frase = JOptionPane.showInputDialog(“Digite uma frase :”);
l = JOptionPane.showInputDialog(“Digite a letra a ser procurada :”);
char letra_a_ser_encontrada = l;
int ln_quantidade = 0;
ArrayList position = new ArrayList();
for (int i=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 (int i=0; i<position.size(); i++)
{
System.out.println("Posição: "+position.get(i));
}
[quote]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?
String l,frase;
frase = JOptionPane.showInputDialog("Digite uma frase :");
l = JOptionPane.showInputDialog("Digite a letra a ser procurada :");
você pode utilizar o charAt para passar a string a para char.
Ficaria assim:
[code]
String l,frase;
frase = JOptionPane.showInputDialog(“Digite uma frase :”);
l = JOptionPane.showInputDialog(“Digite a letra a ser procurada :”);
char letra_a_ser_encontrada = l.charAt(0); //pega a letra que estiver na posição 0 do que foi digitado.....
int ln_quantidade = 0;
ArrayList position = new ArrayList();
for (int i=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 (int i=0; i<position.size(); i++)
{
System.out.println("Posição: "+position.get(i));
}[/code]