Re:Da pra fazer isso?

8 respostas
H

Mais ou menos isso aí:

String palavra = "Java";
		char carac = 'a';
		int cont = 0; 
		
		for (int i = 0; i < palavra.length(); i++) {			
			if ( palavra.charAt(i) == carac)
				cont++;			
		}
		
		System.out.println("A quantidade de '"+ carac +"' em '"+ palavra +"' é: "+ cont);

8 Respostas

celiomarcos

A resposta do hnfonseca está correto porém, no JDK1.5 (o Tiger), existe outra maneira de fazer a mesma coisa usando um forloop mais elegante:

String palavra = "Java é muito legal";
        char carac = 'a';
        int cont = 0;
        
        for (char ch : palavra.toCharArray())
            if (ch == carac)
                cont++;
        
        System.out.println("A quantidade de '"+ carac +"' em '"+ palavra +"' é: "+ cont);
peczenyj

String palavra = "Java é muito legal"; int a = palavra.length(); int b = palavra.replace("a","").length(); System.out.println(a-b);

P

peczenyj:
String palavra = "Java é muito legal"; int a = palavra.length(); int b = palavra.replace("a","").length(); System.out.println(a-b);

Cara,

Meus parabéns. Uma solução de extrema simplicidade e elegância!!!
celiomarcos

E como eu prefiro os mais complicados… ae vae o estilo JDK1.5 de encontrar

String palavra = "Java é muito legal mesmo! Ainda mais o JDK1.5";
        String carac = "a";
        
        java.util.regex.Pattern p = java.util.regex.Pattern.compile(carac);
        java.util.regex.Matcher m = p.matcher(palavra);
        int cont = 0;
        while(m.find()) {
            cont++;
        }
        System.out.println("A quantidade de '"+ carac +"' em '"+ palavra +"' é: "+ cont);

Resaltanto que os Matchers são extremamente uteis e não para apenas hum caracter.
E peczenyj, tua maneira é interessante :wink:

urubatan

este aqui funciona a partir do JDK 1.4, e é bem fácil de endender :smiley:

String tst = "aIasto é um aaaaateste dea";
        System.out.println((" " + tst + " " ).split("a").length-1);
peczenyj

String a = "Uma grande frase cheia de aaaaaaaaaaas!"; System.out.println(a.replaceAll("[^a]*","").length());

N

E como eu faço, quando eu quero que a palavra contada, seja digitada pelo usuário do programa?
Já tentei várias códigos aqui, mas não estou conseguindo.

Obrigado :slight_smile:

tiaguinhooo

Assim queria saber se da pra conta quantas letras ha em uma palavra assim por exemplo java eu quero contar quantos “a” tem nessa palavra no caso duas da pra fazer isso se de alguem me diga como por favor obrigadUU! mesmo !

Criado 28 de junho de 2006
Ultima resposta 28 de jun. de 2006
Respostas 8
Participantes 7