Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcosinfo

[Resolvido] Exibir caracteres de uma palavra String (programa inc

Recommended Posts

Não to conseguindo resolver esse exercício, comentem caso saibam ok?

 

 

/*

* 13. Faça um programa que lê uma palavra e exiba cada caractere da palavra em uma linha e conte quantas letras 'a' tem na palavra.

*/

package Lista1;

 

 

 

// @author Marcos S.O

import javax.swing.JOptionPane;

public class Exercicio13 {

 

public static void main(String[] args) {

 

String palavra = JOptionPane.showInputDialog("Digite uma palavra: ");

for (int i = 0; i <= palavra.length(); i++) {

char letras = (char) palavra.length();

int cont = 0;

if (letras == 'a') {

cont++;

}

JOptionPane.showMessageDialog(null, "Caracteres da palavra digitada: " + letras

+ "\nquantidade de caracteres A: "+ cont);

 

}

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se isto ajuda:

 

    public static void main(String[] args) {

       Scanner in = new Scanner(System.in);
       String palavra;
       Integer count = 0;

       System.out.println("Digite uma palavra: ");
       palavra = in.nextLine();

       for(int i = 0; i < palavra.length(); i++) {
           System.out.println(palavra.substring(i, i+1));
           if(palavra.substring(i, i+1).equals("a")) count++;
       }

       System.out.println(count);
   }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem! Quanto à implementação do colega BheringJoao, eu faria um pouco diferente. Usaria o método charAt(index) da classe String invés de substring(firstIndex, lastIndex). Dessa forma é mais eficiente e você já poderia comparar o char com o operador de igualdade (==).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao invés de várias chamadas a charAt() ou substring(), eu optaria por uma chamada a toCharArray():

 


public class Str
{
   public static void main(String args[]) throws Exception
   {
if (args.length == 0)
{
    throw new Exception("Ex.: 'java Str \"Testando aaa\"'");
}

String str = args[0];

int numero_as = 0;

for (char letra : str.toCharArray())
{
    if (letra == 'a')
    {
	numero_as++;
    }

    System.out.println(letra);
}

System.out.println("\n\t Ha " + numero_as + " letras 'a' nesta string.");
   }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao invés de várias chamadas a charAt() ou substring(), eu optaria por uma chamada a toCharArray():

 


public class Str
{
   public static void main(String args[]) throws Exception
   {
if (args.length == 0)
{
    throw new Exception("Ex.: 'java Str \"Testando aaa\"'");
}

String str = args[0];

int numero_as = 0;

for (char letra : str.toCharArray())
{
    if (letra == 'a')
    {
	numero_as++;
    }

    System.out.println(letra);
}

System.out.println("\n\t Ha " + numero_as + " letras 'a' nesta string.");
   }
}

 

 

Olá muito obrigado pelo esclarecimento, gostei de ter conhecido esta função.

 

Veja se isto ajuda:

 

    public static void main(String[] args) {

       Scanner in = new Scanner(System.in);
       String palavra;
       Integer count = 0;

       System.out.println("Digite uma palavra: ");
       palavra = in.nextLine();

       for(int i = 0; i < palavra.length(); i++) {
           System.out.println(palavra.substring(i, i+1));
           if(palavra.substring(i, i+1).equals("a")) count++;
       }

       System.out.println(count);
   }

 

Muito obrigado, vlw ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.