Cómo calcular las vocales, los espacios y las consonantes de una cadena dada en Java (En 5 Pasos)
Al trabajar con cadenas de texto en tus programas de Java quizá necesites calcular información acerca de sus contenidos. Si necesitas obtener el número de vocales, consonantes y espacios en una cadena puedes usar funciones de la clase de cadenas. Esta clase proporciona una serie de métodos para sustituir un conjunto dado de caracteres. Puedes usar estos métodos para calcular diferencias en longitud cuando sustituyes vocales, consonantes y espacios, lo que te indica cuántos de estos caracteres se encuentran contenidos originalmente en la cadena.
Paso 1
Prepara tu cadena de texto. Si aún no tienes una puedes usar la siguiente variable de tipo string de ejemplo con su valor:
String myWords = "The quick brown fox jumps over the lazy dog";
Esta cadena contiene al menos una de cada una de las letras del alfabeto. Puedes usar cualquier conjunto de caracteres que quieras y darle a la variable de tipo cadena un nombre de tu elección.
Paso 2
Calcula el número de vocales de tu cadena. Agrega el siguiente código a tu programa: String vowels = myWords.replaceAll("(?i)[^aeiou]", ""); int numVowels = vowels.length();
La primera línea toma la variable de tipo string, luego sustituye cualquier otra cosas que no sea una vocal por una cadena vacía. El código indica el número de caracteres que no sean las cinco vocales, ya sea en mayúsculas o minúsculas, como primer parámetro del método, mientras que la cadena vacía representa el segundo parámetro. A continuación el código invoca al método length de la clase string. El número de caracteres restantes en la cadena corresponde al número de vocales de la cadena original. Finalmente el código almacena el número como una variable de tipo entero primitivo.
Paso 3
Cuenta las consonantes en tu cadena. Usando una versión modificada de la técnica de las vocales, calcula el número de consonantes en tu cadena como se indica: int numConsonants = myWords.replaceAll("(?i)[^bcdfghjklmnpqrstvwxyz]", "").length();
Este código implementa el proceso en una sola línea, evitando la necesidad de usar una variable adicional de tipo cadena. El método replace sustituye todo excepto las consonantes con una cadena vacía, dejando solamente las consonantes del valor original.
Paso 4
Cuenta el número de espacios en la cadena. Agrega el siguiente código a tu programa: int numSpaces = myWords.replaceAll("[^ ]", "").length();
Este código es ligeramente más simple que el de la técnica de la vocal y la consonante, dado que no tienes que indicarle a Java que ignore las mayúsculas o minúsculas. Esta vez tu proceso de sustitución solamente pretende encontrar un único carácter, por lo que el código es más corto.
Paso 5
Prueba tu código. Para asegurarte de que tu procedimiento esté calculando las vocales, consonantes y espacios correctamente agrega las siguientes instrucciones de salida:
System.out.println("Vocales: " + numVowels); System.out.println("Consonantes: " + numConsonants); System.out.println("Espacios: " + numSpaces);
Guarda tu archivo y ejecuta tu programa. A continuación deberás ver los totales para cada tipo de carácter escrito en la consola de salida.