Mostrar vogais de uma palavra

Olá pessoal, sou inciante em java e gostaria que vocês me ajudassem em uma questão que eu estou resolvendo, ela eh mais ou menos assim, ela pede pra desenvolver uma classe em java para que receba um nome e escreva quantas vogais existem nele. Eu já procurei em muitos lugares mais ñ achei queria muito que vocês me ajudassem.

Aguardando a Resposta.

“Ser o mais rico do cemitério não é o que mais importa para mim?
Ir para a cama à noite e pensar que foi feito alguma coisa grande.
Isso é o que mais importa para mim.” (Steve Jobs)

[quote=Progsaulo]Olá pessoal, sou inciante em java e gostaria que vocês me ajudassem em uma questão que eu estou resolvendo, ela eh mais ou menos assim, ela pede pra desenvolver uma classe em java para que receba um nome e escreva quantas vogais existem nele. Eu já procurei em muitos lugares mais ñ achei queria muito que vocês me ajudassem.

Aguardando a Resposta.

“Ser o mais rico do cemitério não é o que mais importa para mim?
Ir para a cama à noite e pensar que foi feito alguma coisa grande.
Isso é o que mais importa para mim.” (Steve Jobs)[/quote]

Salva as vogais em um vetor e dps vai comparando com o nome digitado.

Obrigado, mas eu realmente queria saber se há algum código especifico de java pra fazer isso.

  • Salve as vogais em um array.
  • Utiliza o toCharArray para quebrar em string em um array de char.
  • Utilize o método equals para comparar as vogais salvas com a da String fornecida.
public class Letras {
	private String frase ;
	private static final char[] vogais = {65,69,73,79,85,97,101,105,111,117,249,250,251,252,242,243,244,245,246,232,233,234,
			235,236,237,238,239,224,225,226,227,228,229,217,218,219,220,210,211,212,213,214,200,201,202,
			203,204,205,206,207,192,193,194,195,196,197};
	
	public Letras(String frase) {
		this.frase = frase ;
	}
	
	public int getVogalCount(){
		int size = frase.length();
		char[] ar = frase.toCharArray();
		int quant = 0 ;
		if(size != ar.length){
			throw new RuntimeException("Tamanho diferente");
		}
		
		for (int i = 0; i < size; i++) {
			for (int j = 0; j < vogais.length; j++) {
				if(ar[i] == vogais[j]){
					quant++ ;
				}
			}
		}
		
		return quant ;
	}
	
	public static void main(String[] args) {
		System.out.println(new Letras("Ser o mais rico do cemitério não é o que mais importa para mim?"+
				"Ir para a cama à noite e pensar que foi feito alguma " +
				"coisa grande.Isso é o que mais importa para mim. (Steve Jobs)").getVogalCount());
	}
}

Uma observação , se utilizar o equals para comparar a string ficaria mais lento.
Teste ai ! pontos da faculdade na mão lol ;

1 curtida

Mas da forma que tu tá fazendo está errada:

ar[i] == vogais[j]

Dessa forma tu só está comparando o endereçamento de memória ao invés do valor da string. Se eu estiver errado, me corrijam, mas foi isso que aprendi.

Preste atenção no que as variáveis significam. Elas não são duas Strings, mas sim, dois chars.

[quote=viniciusalvess]Uma observação , se utilizar o equals para comparar a string ficaria mais lento.
Teste ai ! pontos da faculdade na mão lol ;[/quote]

Por favor, não poste a solução de exercícios de faculdade. Caso contrário, voltaremos a ter problema no fórum de termos enxurradas de pedidos como esse.

Ajude o cara a pensar, dê dicas, mas resolver exercício, não!

[quote=ViniGodoy][quote=viniciusalvess]Uma observação , se utilizar o equals para comparar a string ficaria mais lento.
Teste ai ! pontos da faculdade na mão lol ;[/quote]

Por favor, não poste a solução de exercícios de faculdade. Caso contrário, voltaremos a ter problema no fórum de termos enxurradas de pedidos como esse.

Ajude o cara a pensar, dê dicas, mas resolver exercício, não![/quote]

Pode deixar ViniGodoy que não irá acontecer novamente!

[quote=Marcelo de Andrade]Mas da forma que tu tá fazendo está errada:

ar[i] == vogais[j]

Dessa forma tu só está comparando o endereçamento de memória ao invés do valor da string. Se eu estiver errado, me corrijam, mas foi isso que aprendi. [/quote]

char é tipo primitivo , por isso que utilizei o == ;

[quote=viniciusalvess][quote=Marcelo de Andrade]Mas da forma que tu tá fazendo está errada:

ar[i] == vogais[j]

Dessa forma tu só está comparando o endereçamento de memória ao invés do valor da string. Se eu estiver errado, me corrijam, mas foi isso que aprendi. [/quote]

char é tipo primitivo , por isso que utilizei o == ;[/quote]

Sim sim, eu me confundi e respondi errado, desculpa. Na hora que vi “letra” deduzi de forma errônea String = alfabeto.

Obrigado pessoal, isso vai me ajudar muito!!!