Contar las vocales de una palabra con Java

23/Oct/2010 Java , , , 25 Comentarios

Algunos nos habéis pedido saber como podemos contar las vocales de una palabra con Java. Así que pongámonos manos a la obra.

Lo primero, la palabra... algo sencillo... una String

  1. String sPalabra ="murcielago";

Ahora definiremos un contador, el cual lleve la cuenta de las vocales de la palabra:

  1. int contador = 0;

Solo nos quedará recorrer la palabra, mediante un bucle for y controlando el tamaño de la palabra mediante el método .length()

  1. for(int x=0;x<sPalabra.length();x++) {
  2. ...
  3. }

En cada iteracción, el método .charAt() nos devolverá el carácter de la posición que estamos recorriendo. Así que comprobaremos si dicho carácter es una de las vocales (a, e, i, o, u).

  1. for(int x=0;x<sPalabra.length();x++) {
  2. if ((sPalabra.charAt(x)=='a') || (sPalabra.charAt(x)=='e') || (sPalabra.charAt(x)=='i') || (sPalabra.charAt(x)=='o') || (sPalabra.charAt(x)=='u')){
  3. contador++;
  4. }
  5. }

Ya solo nos quedará volcar el valor del contador.

  1. System.out.println("La palabra " + sPalabra + "contiene " + contador + " vocales");

Vídeos sobre Java


25 comentarios en “Contar las vocales de una palabra con Java”

Víctor Cuervo

Jonathan

como haría esto pero para que en vez de que me detecte las vocales fueran números?

Víctor Cuervo

stuk4

Víctor Cuervo

manuela alvarez

necesito un programa que me diga si un correo electronico es valido para ser valido debe tener @ . y empezar por vocal

Víctor Cuervo

Teo GR-10

Buenos dias
Agradezco si alguien me puede ayudar

como hago para contar las vocales que hay en una matriz de 5X5 donde cada campo de la matriz recibe una letra(no recibe los datos por teclado si no que ya estan definidos en el codigo(se ingresaron “manualmente”))

Víctor Cuervo

Agh

Hola que tal, tengo un código en el cual ingreso una cadena y mando llamar un método, que a su vez invoca a otro método que es para obtener el siguiente carácter de una cadena, mi problema es como hago ese método no me esta sirviendo, entonces cómo hago que me de el siguiente caracter, ? espero me puedan ayudar. en seguida está el código.

public class cadena{

static int error;
static char c, car;
static int i;
static String cad = “”;
static Scanner leer = new Scanner(System.in);

public static void ma() {

error = 0;
c = sig();
if (c == ‘(‘) {

error = mb();
if (error == 0) {
c = sig();

if (c == ‘)’) {
error = 0;
} else {
error = 1;
}
} else {
error = 2;
}

}
}

public static int mb() {

error = 0;

c = sig();

if (c == ‘h’) {
return error;
} else {
if (c == ‘(‘) {
error = mb();

if (error == 0) {
c = sig();
if (c == ‘)’) {
System.out.println(“fin de la cadena”);
error = 0;
} else {
error = 1;
}
}

} else {
error = 2;
}

return error;
}

}

private static char sig() {
c = cad.charAt(0);

for (i = 0; i < cad.length(); i++) {
car = cad.charAt(i);

}

return c;
}

public static void main(String[] args) {

System.out.println("Introduzca la cadena");
cad = leer.next();
ma();

}

}

Víctor Cuervo

alex

Necesito que me ayuden , debo hacer una aplicación java que cuente las lineas de datos en un archivo txt

Víctor Cuervo

Víctor Cuervo

alex, lo tienes resuelto en http://lineadecodigo.com/java/numero-de-lineas-de-un-fichero/ Espero que te sirva.
Saludos.

Víctor Cuervo

Método contador de vocales - Línea de Código

[…] idea es partir del ejemplo explicado acerca de contar vocales en Java y darle una pequeña vuelta hasta conseguir el método contador de […]

Víctor Cuervo

Albertano Salgado

bro me puedes ayudar tengo que hacer un método que reciba como parámetro una cadena de caracteres y retorne una lista de cuantas a , e ,i ,o ,u hay en la cadena Ejemplo Hola Mundo a=1 e=0 i=0 o=2 u =1;
aqui esta el código me puedes ayudar…
public int CuantasVocales(String Murcielago){

int contador = 0;
for(int x=0;x<Murcielago.length();x++) {
if ((Murcielago.charAt(x)=='a') && (Murcielago.charAt(x)=='e') && (Murcielago.charAt(x)=='i') && (Murcielago.charAt(x)=='o') && (Murcielago.charAt(x)=='u')){
contador = contador + 1;
}// fin del if

}//fin del for
System.out.println("La palabra Murcielago " + "contiene a = " + contador + "contiene e ="+contador+
"contiene i = "+contador + "contiene o = " + contador +"contiene u = " + contador);
return contador ;

}//fin del metodo

Víctor Cuervo

Víctor Cuervo

Hola Albertano,

La idea es que crees un array de 5 posiciones donde la primera contenga las vocales ‘a’, la segunda posición las vocales ‘e’,… así hasta la ‘u’. El método sería:

public static int[] contadorVocales(String sPalabra) {
		
	int[] contador = {0,0,0,0,0};
		
	for(int x=0;x<sPalabra.length();x++) {
			
		switch (sPalabra.charAt(x)) {
			case 'a':
				contador[0]++;
				break;
			case 'e':
				contador[1]++;
				break;
				case 'i':
				contador[2]++;
				break;
			case 'o':
				contador[3]++;
				break;
			case 'u':
				contador[4]++;
				break;					
		}
			
	}	
		
	return contador;
		
}

Ya solo te quedaría invocar al método y recorrer el array para saber el resultado:

int[] vocales = contadorVocales("Murcielago");
		
for (int x=0;x<vocales.length;x++) {
	System.out.println(vocales[x]);
}

Espero que te sirva.

Saludos.

Víctor Cuervo

Gisela

como podría hacerlo pero para una frase, por ejemplo: son n palabras pero necesito eliminar las vocales de la primera palabra o de la que el usuario elija. Me ayudan porfa!!

Víctor Cuervo

Víctor Cuervo

Hola Gisela,

En el ejemplo de contar palabras con Java http://lineadecodigo.com/java/contar-palabras-en-java/ puedes ver como acceder a las palabras. Luego con cada una y el código explicado en este artículo puedes eliminar las vocales de la palabra que necesites.

Espero haberte orientado.

Saludos.

Víctor Cuervo

Luxray

Y si me piden imprimir la primer consonante de una palabra que el usuario ingrese??

Víctor Cuervo

Víctor Cuervo

Hola Luxray,

Tienes explicado como contar las consonantes en http://lineadecodigo.com/java/contar-las-consonantes-de-una-palabra-con-java/

De ese ejemplo puedes sacar fácilmente como mostrar la primera consonante.

Saludos.

Víctor Cuervo

Víctor Cuervo

@cris, solo haría falta que cambiases el contenido de la variable sPalabra y pusieses la oración.
sPalabra = “las palabras esas”;

Víctor Cuervo

cris

¿y si fuera contar las vocales en una oración? pero que en cada palabra sí o si termine en s

Víctor Cuervo

GJHOND

como seria?

Víctor Cuervo

GJHOND

y si fuera una COLA de caracteres, por ejemplo esta:
char Cola[]={‘H’, ‘I’, ‘P’, ‘E’, ‘R’, ‘B’, ‘L’, ‘A’, ‘N’, ‘D’, ‘U’, ‘Z’, ‘C’, ‘O’, ‘S’};

Víctor Cuervo

peter uchiha

genialme salvaron buena pagin pero quisiera saber si tambien en este mismo programa se puede saber a parte de que vocales tiene saber cuales son se los agradeceria si me dijeran como hacerle en fin gracias por el esfuerzo

Víctor Cuervo

Víctor Cuervo

Gracias por la respuesta @Fernando.

Víctor Cuervo

Fernando

String palabras[] = textArea.getText().split(” “);
String z=””;
for(int i=0; i<palabras.length;i++){
int t = palabras[i].length();
for(int j=0; j<t; j++){
if(palabras[i].charAt(j)!='a'&&palabras[i].charAt(j)!='e'&&palabras[i].charAt(j)!='i'&&palabras[i].charAt(j)!='o'&&
palabras[i].charAt(j)!='u'&&palabras[i].charAt(j)!='A'&&palabras[i].charAt(j)!='E'&&palabras[i].charAt(j)!='I'&&
palabras[i].charAt(j)!='O'&&palabras[i].charAt(j)!='U'&&palabras[i].charAt(j)!='1'&&palabras[i].charAt(j)!='2'&&
palabras[i].charAt(j)!='3'&&palabras[i].charAt(j)!='4'&&palabras[i].charAt(j)!='5'&&palabras[i].charAt(j)!='6'&&
palabras[i].charAt(j)!='7'&&palabras[i].charAt(j)!='8'&&palabras[i].charAt(j)!='9'&&palabras[i].charAt(j)!='0'){
z+=palabras[i].charAt(j);
}
}
z+=" ";
textArea_1.setText(z);
}

Víctor Cuervo

Albertano Salgado

bro me puedes ayudar tengo que un método que reciba como parámetro una cadena de caracteres y retorne una lista de cuantas a , e ,i ,o ,u hay en la cadena Ejemplo Hola Mundo a=1 e=0 i=0 o=2 u =1;

Víctor Cuervo

sam

utilizando JOptionPane como sería el código; la pagina es excelente y lo cogidos bastante entendibles, gracias.

Víctor Cuervo

edgar

¿y en un archivo como seria el codigo?, por ejemplo un .txt

Víctor Cuervo

Bernardo

muy bueno el trabajo.. aunque yo lo haria algo asi

if(String.valueOf(sPalabra.charAt(x)).matches(“[AEIOU-aeiou]”))
{
contador++;
}

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*