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


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

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

*

*