Dada uma string e uma letra, conte quantas vezes esta letra ocorre na string

alguém sabe como se faz isso?

dada uma string e uma letra, conte quantas vezes esta letra ocorre na string

obrigada!

public class teste {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String aux = "andreia";
		int j = 0;
		for(int i=0;i<aux.length();i++)
			if(aux.charAt(i)=='a')
				j++;
		System.out.print(j);
	}

}

ou

public class main{
	
	public static void main(String[] args) {
		
		String s = "aaaaaaaaaa";
		
		char[] c = s.toCharArray();
		
		int quantidade = 0;
		
		char letra = 'a';
		
		for (char d : c) {
			
			if (d == letra) {
				
				quantidade++;
			}
		}
		
		System.out.println( "A letra " + letra + "aparece " + quantidade
	}	
	
}

Sem querer ser chato… mas “contidade” dói…
:lol:

só lembrando que existe a opção de não reinventar a roda

public class main{
	
	public static void main(String[] args) {
		
		String s = "aaaaaaaaaa";
				
		String letra = "a";
		
		int quantidade = StringUtils.countMatches(s, letra);
		
		System.out.println( quantidade );
	
	}	
	
}

jakarta commons

foi mal já corrigi !! essas coisas acontece !! :smiley:

Pode usar ER tbm:

import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class ahaha {
	public static void main(String args[]) {
		String data = "laisaseraqueéfake";
		char caractere = 'a';
		int conta = 0;
		Pattern p = Pattern.compile("["+caractere+"]");
		Matcher m = p.matcher(data);
		while (m.find()) {
			conta++;
		}
		System.out.println("Número de ocorrencias:"+conta);
	}
}

isso deve resolver e custa bem menos linha.

String [] tamanho = "josedasilva".split("a"); System.out.println(tamanho.length);

opá !! tem bug ai !!

roda assim

String [] tamanho = "josedaaasilvaaa".split("a"); System.out.println(tamanho.length);

O que adianta dar o peixe sem ensinar a pescar pessoal?

Se fosse um cueca td mundo ia descer o pau no cara !
:shock:

public class ContaOcorrencias {
	private char letraProcurada;
	String textoPercorrido;
	
	ContaOcorrencias(char letraProcurada, String textoPercorrido){
		this.letraProcurada = letraProcurada;
		this.textoPercorrido = textoPercorrido;
	}
	
	public int contaOcorrencias(){
		int retorno = 0;
		if(!textoPercorrido.equals("")) {
			this.textoPercorrido = this.textoPercorrido.substring(this.textoPercorrido.indexOf(this.letraProcurada) + 1);
			retorno = contaOcorrencias() + 1;
		}
		return retorno;
	}
	
	public static void main(String[] args) {
		char letraProcurada = 'a';
		String textoPercorrido = "aabaabaabaaaaa";
		System.out.println(new ContaOcorrencias(letraProcurada, textoPercorrido).contaOcorrencias());
	}
}

Com recursão, sempre é mais simples. A lógica está no método contaOcorrencias(), que contém praticamente duas linhas de código efetivo, que está dentro do condicional.

O código ficaria ainda mais enxuto se usásemos apenas membros static e passássemos o char e a String ao método contaOcorrencias().

[]'s

[quote=pm]Se fosse um cueca td mundo ia descer o pau no cara !
:shock:
[/quote]

Concordo :smiley:

[quote=RafaelVS ]Com recursão, sempre é mais simples.
[/quote]

Hein? Mais simples? O código sim, mas visto a pergunta de uma iniciante como a Laisa que ainda está engatinhando creio que não seja tão simples assim :smiley:

Como falei, ensinem a pescar ao invés de dar o peixe… O mínimo que poderiam ter feito era comentar o código…

Até mais!

muito obrigada!
vcs são muito queridos =)

String [] tamanho = "josedaaasilvaaa".split("a"); System.out.println(tamanho.length);

ta com pau isso, tipow tem 6 “a” e o resultado da 4.

[quote=davidbuzatto][quote=pm]Se fosse um cueca td mundo ia descer o pau no cara !
:shock:
[/quote]

Concordo :smiley:

[quote=RafaelVS ]Com recursão, sempre é mais simples.
[/quote]

Hein? Mais simples? O código sim, mas visto a pergunta de uma iniciante como a Laisa que ainda está engatinhando creio que não seja tão simples assim :smiley:

Como falei, ensinem a pescar ao invés de dar o peixe… O mínimo que poderiam ter feito era comentar o código…

Até mais![/quote]

heheheheheh eu pensei nisso tb… é simples pra quem já tem um certo conhecimento. Recursão não é algo que se aprende nos “primeiros períodos” da faculdade hehehehe

como eu disse tem bug nessa lógica !!

ta tipow oq o split faz?

Adeus araucárias, foi bom tê-las por perto.

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#split(java.lang.String)

Nem olhar o javadoc, faz. :frowning:

Até!

dadas duas strings (uma contendo uma frase e outra contendo uma palavra), determine o número de vezes que a palavra ocorre na frase. Por exemplo: Para a palavra "ANA"e a frase “ANA E MARIANA GOSTAM DE BANANA”, temos que a palavra ocorre 4 vezes na frase.

é quase a mesma coisa mas não sei como comparar meu codigo tá assim:

[code] Scanner tec = new Scanner(System.in);

	System.out.println("Digite a frase");
	frase = tec.next();
	
	System.out.println("Digite a palavra ");
	palavra = tec.next();
	
	
	  for (int i = 0; i < frase.length(); i ++) {
          if (frase.charAt(i).equals(palavra) ){
        	  cont ++ ;

          }

[/code]

alguem me ajuda!!
please!!!