Contar las vocales de una palabra con Java

23/Oct/2010 Java , , , 47 Comentarios
Programación en Java

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

String sPalabra ="murcielago";

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

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()

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

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).

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

Ya solo nos quedará volcar el valor del contador.

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

 

Vídeos sobre Java


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

Víctor Cuervo

katherine

) Realizar un programa para que lea una frase y cuando encuentre un correo lo reemplace por xxxxxx

ayuda plis

 

Víctor Cuervo

Víctor Cuervo

Hola Katherine,

La idea es que utilices el método .replaceAll de la clase String. Lo tienes explicado en el artículo Reemplazar contenido con Java.

Espero que te ayude.

Saludos.

Víctor Cuervo

carmen

Realizar un programa en Java que lea un número entero por

el teclado e imprima todos los números impares menores que él

Víctor Cuervo

aris jimenez

hola me ayudas con este problema por favor

escriba un programa que pida una palabra y que me diga la cantidad de vocales tiene.

Víctor Cuervo

Juan

Hola y como se podria hacer el codigo para que no cuente las vocales repetidas?

Víctor Cuervo

OdioJava

Vale lo tengo muchas gracias por tu ayuda me ha servido de mucho.

Víctor Cuervo

Víctor Cuervo

Me alegro que te haya servido. Espero que ahora odies un poco menos el Java. :-D

Víctor Cuervo

OdioJava

Necesito ayuda en este programa necesito que pida que el usuario escriba una frase, y al escribir que cuente automaticamente su longitud y las vocales.

PD: Tengo esto.

public static void main(String[] args){
		
		Scanner entrada = new Scanner(System.in);
		
		String frase;
		int vocals = 0;
		int numeroLletres = 0;
		
		System.out.println("*** Comptador de vocals ***");
		System.out.println("Escriu una frase: ");
		frase = entrada.nextLine();
		
		for(int x = 0; x < frase.length(); x++){
			if ((frase.isUpperCase(charAt(x)) == 'a') || (frase.isUpperCase(charAt(x)) == 'e') || 
			(frase.isUpperCase(charAt(x)) == 'i') || (frase.isUpperCase(charAt(x)) == 'o') || (frase.isUpperCase(charAt(x)) == 'u')){ 
			vocals++;
			}for(int y = 0; y < frase.length(); y++){
				if(frase.charAt(y) == ' '){
					numeroLletres++;
				}
			}
		}
		System.out.println("\nNumero de vocals: " + vocals);
		System.out.println("Longitud de la frase: " + numeroLletres);
	}
}
Víctor Cuervo

Víctor Cuervo

Buenas,

Aunque odies Java ;-) te paso el código corregido. Tenias un método que debería de ser .toUpperCase() para convertirlo en mayúsculas y el .charat() lo tenías mal colocado. Te quedaría el código así:

import java.util.Scanner;

class test {
	public static void main(String[] args){
		
		Scanner entrada = new Scanner(System.in);
		
		String frase;
		int vocals = 0;
		int numeroLletres = 0;
		
		System.out.println("*** Comptador de vocals ***");
		System.out.println("Escriu una frase: ");
		frase = entrada.nextLine();
		
		for(int x = 0; x < frase.length(); x++){
			if ((frase.toUpperCase().charAt(x) == 'A') || (frase.toUpperCase().charAt(x) == 'E') ||
			(frase.toUpperCase().charAt(x) == 'I') || (frase.toUpperCase().charAt(x) == 'O') || (frase.toUpperCase().charAt(x) == 'U')){
				vocals++;
			}for(int y = 0; y < frase.length(); y++){
				if(frase.charAt(y) == ' '){
					numeroLletres++;
				}
			}
		}
		System.out.println("\nNumero de vocals: " + vocals);
		System.out.println("Longitud de la frase: " + numeroLletres);
	}
}
Víctor Cuervo

OdioJava

Ostia muchas gracias no sabes del apuro que me acabas de sacar, ahora me falta en el segundo for me falla y no me acaba de calcular bien la longitud de la frase que introduzco no me la calcula bien, no se como puedo llegar a solucionarlo.

Gracias

Víctor Cuervo

Víctor Cuervo

La longitud de la frase la tienes ya con el frase.length();

Simplemente escribe

System.out.println(frase.length());

Y ya lo verás por pantalla. No tienes que recorrer con el for.

Saludos.

Víctor Cuervo

OdioJava

Vale lo tengo muchas gracias por tu ayuda me ha servido de mucho.

Víctor Cuervo

Daniel

como se utilizaría para que en veces de reconocer las vocales reconozca una palabras completa por ejemplo: reconocimiento de palabras completas en java.
El cual tengamos las palabras almacenadas palabras, java, reconocimiento.

Víctor Cuervo

bayron daniel

necesito que alguien me ayude con la linea de código de este programa Realizar un programa en java, que solicite el ingreso de una frase o texto, y a partir del mismo cuente las vocales abiertas y vocales cerradas con las que cuenta. Asi mismo, cuantas a, e, i, o y u según su clasificación. Se aclara que para el desarrollo del programa se debe usar bucles.

Víctor Cuervo

Víctor Cuervo

Al final hemos creado un artículo contando cómo hacerlo y lo tienes en http://lineadecodigo.com/java/vocales-abiertas-y-cerradas-con-java/ espero que te ayude.

Saludos.

Víctor Cuervo

erick

realizar un programa que si al ingresar una tecla indique si es numero, o consonante o vocal

Víctor Cuervo

Víctor Cuervo

Hemos creado un artículo explicando como hacerlo en http://lineadecodigo.com/java/numero-consonante-o-vocal-en-java/

Espero que sea de utilidad.

Saludos

Víctor Cuervo

Roberto

Hola queria saber como puedo hacer que mi código me diga cuantas silabas tiene una palabra o cadena

import java.util. Scanner;
public class Metodo {
private Scanner teclado;
private String Palabra;
private int NCarac;
public void Inicializar (){
teclado=new Scanner (System.in) ;
System.out.println(«Ingrese el primer numero:»);
Palabra=teclado.next();
}
public void Largo(){
int NCarac=Palabra.length();
System.out.println(«La palabra » + Palabra + » tiene » + NCarac + » caracteres \n»);
}
public void VocalConsonante(){
NCarac=Palabra.length();
int ContV=0,ContC=0,t,cont=0;
while (cont<NCarac){
char Car=Palabra.charAt(cont);
if(Car=='a'||Car=='e'||Car=='i'||Car=='o'||Car=='u'||Car=='A'||Car=='E'||Car=='I'||Car=='O'||Car=='U'){
ContV++;
}else{
ContC++;
}cont++;
}
System.out.println("Tiene "+ContV+" vocales");
System.out.println("Tiene "+ContC+" consonantes");
}

}
public static void main (String[]ar){
Metodo Metodo1;
Metodo1=new Metodo();
Metodo1.Inicializar();
Metodo1.Largo();
Metodo1.VocalConsonante();
}
}

Víctor Cuervo

Bryan

Hola ocupo ayuda en un programa que lea la cantidad de palabras de un texto. Ademas que lea cuantas vocales tiene por palabra.
Que no sea utilizando un for en el contador de vocales.

Víctor Cuervo

VictorManuelDxD

un algoritmo y codificación que muestre la cantidad de vocales que tiene una cadena introducida por el teclado

Alguien me ayuda 😣

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

Víctor Cuervo

Claro, solo tienes que cambiar el código de:

(sPalabra.charAt(x)=='a')

E indicar que sean números:

(sPalabra.charAt(x)=='1')

Espero que te sirva.

Saludos.

Víctor Cuervo

stuk4

Víctor Cuervo

h151

Buenas tardes, me ayudo mucho su codigo
Una pregunta ¿Como puedo hacerle para poder introducir cualquier palabra?

Víctor Cuervo

Víctor Cuervo

Puedes pedir la palabra por consola. El ejemplo que te enseña cómo pedir una palabra por consola es http://lineadecodigo.com/java/lectura-de-datos-en-java-con-scanner/

Si juntas los dos tendrás tu programa montado.

Espero que esto te ayude.

Saludos.

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

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

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.