Método contador de vocales

10/Sep/2015 Java , , , 1 Comentario

Uno de nuestros visitantes nos preguntaba acerca de cómo podría hacer un método contador de vocales en Java. Dicho método recibiría una cadena como parámetro y devolvería un array de 5 posiciones en las cuales iría el sumatorio de las vocales que hubiese en la palabra.

Es decir el array de vuelta tendría en la posición 0 el número de vocales a que hubiese en la palabra, en la posición 1 el número de vocales b,... y así hasta la posición 4 que contendría el número de vocales u que hubiese en la palabra.

La 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 vocales.

Lo primero será definir la signatura del método contador de vocales el cual recibe un elemento de tipo String y devuelve un array de enteros o int[]

  1. public static int[] contadorVocales(String sPalabra) { .. }

Dentro del método, la primera sentencia será definir ese array de resultados. El array lo inicializamos con todo a ceros, ya que asumimos que por defecto no existe ninguna vocal.

  1. int[] contador = {0,0,0,0,0};

Además, atendiendo a que nos puedan enviar vocales en minúsculas y mayúsculas, convertimos la palabra entera a minúsculas (podría haber sido a mayúsculas también).

  1. sPalabra = sPalabra.toLowerCase();

Ahora lo que haremos será recorrer los caracteres de la palabra. Para ello vamos a utilizar un bucle for que recorra carácter a carácter.

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

Dentro del bucle tendremos que evaluar el carácter, dependiendo del tipo de vocal que sea incrementaremos una u otra posición del array. Es por ello que nos basamos en una estructura switch para llevarlo a cabo.

  1. for(int x=0;x<sPalabra.length();x++) {
  2.  
  3. switch (sPalabra.charAt(x)) {
  4. case 'a': case 'á':
  5. contador[0]++;
  6. break;
  7. case 'e': case 'é':
  8. contador[1]++;
  9. break;
  10. case 'i': case 'í':
  11. contador[2]++;
  12. break;
  13. case 'o': case 'ó':
  14. contador[3]++;
  15. break;
  16. case 'u': case 'ú':
  17. contador[4]++;
  18. break;
  19. }
  20.  
  21. }

Cómo podemos ver hemos controlado la vocal y la vocal acentuada. Si vuestro lenguaje tiene vocales del estilo à, ü,... solo tenéis que añadir una sentencia case más.

Y ya solo nos quedará devolver el array contador.

  1. return contador;

Para poder llamar al método contador de vocales en Java solo hay que pasarle una palabra.

  1. int[] vocales = contadorVocales("Murciélago");
  2.  
  3. for (int x=0;x<vocales.length;x++) {
  4. System.out.println(vocales[x]);
  5. }

De esta forma tenemos definido nuestro método contador de vocales en Java.

Vídeos sobre Java


Un comentario en “Método contador de vocales”

Víctor Cuervo

valerio

Hola Víctor Cuervo,
tavez pudieras ayudarme.
Tengongo que crear una funcion que recival dos cadenas del mismo tamaño y que cuente los caractères que hay entre la primera letra de la primera cadena y la primera letra de la sgunda cadena, luego el segundo caracter de la primera cadenas y en segundo caracter de la segunda cadena… asi sucesivamente hasta terminar… y que la final devueva el total de caracteres…

¿Algo que nos quieras comentar?

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

*

*