Mostrar vogais de uma palavra

11 respostas
P

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)

11 Respostas

C

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)

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

P

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

Marcelo_de_Andrade
  • 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.
viniciusalvess
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 ;

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.

ViniGodoy

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

ViniGodoy

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

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!

viniciusalvess

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

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!

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

viniciusalvess

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.

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

Marcelo_de_Andrade

viniciusalvess:
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.

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

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

P

Obrigado pessoal, isso vai me ajudar muito!!!

Criado 8 de outubro de 2011
Ultima resposta 9 de out. de 2011
Respostas 11
Participantes 5