Programming
T03-003-R1 Funciones con tipos estructurados (Opcional)
Enunciado
Contar vocales de cadena con funciones
Queremos hacer un programa Java que cuente el número de vocales que tienen las frase que se introducen.
Recuerda que las frases pueden contener letras en mayúsculas y en minúsculas y, en cualquiera de los dos casos, las vocales deben ser contadas.
Tendrás que usar métodos de la clase String para manejar cadenas. Es muy posible que tengas que usar los siguientes métodos:
charAt(n)toLowerCase()length()Además, para leer los datos desde la entrada, es muy posible que tengas que usar los siguientes métodos de la clase Scanner:
nextInt()nextLine()ENTRADA
La entrada comienza con un número indicando cuántos casos de prueba habrá que procesar.
Cada uno de los casos está compuesto por una frase (una cadena de texto)
SALIDA
Por cada caso de prueba, el programa escribirá el número de vocales que tiene la frase correspondiente.
RESTRICCIONES
Deberá resolverse el problema diseñando una función que reciba una cadena de texto y devuelva el número de vocales que contiene.
El programa principal, para cada uno de los casos, pedirá las cadenas por teclado y usará la función para resolver el problema, imprimiendo posteriormente el resultado correspondiente.
Solución
import java.util.Scanner;
public class FContarVocalesCadena {
public static void main(String[] args) {
// TODO code application logic here
Scanner sc = new Scanner(System.in);
String frase;
int numCasos = 0;
numCasos = sc.nextInt();
frase = sc.nextLine();
for (int i = 1; i <= numCasos; i++) {
frase = sc.nextLine();
System.out.println(contarVocales(frase));
}
}
public static int contarVocales(String cadena) {
int contador = 0;
String cadena2;
int tamanyoCadena2 = 0;
cadena2 = cadena.toLowerCase();
for (int i = 0; i < cadena2.length(); i++) {
if (cadena2.charAt(i) == 'a' || cadena2.charAt(i) == 'e' || cadena2.charAt(i) == 'i' || cadena2.charAt(i) == 'o' || cadena2.charAt(i) == 'u') {
contador++;
}
}
return contador;
}
}
Input
6 esto es una prueba Este es el modulo de PROGRAMACION Y ENTORNOS DE DESARROLLO Mi programa cuentas las VOCALES La palabra MURCIELAGO contiene las cinco vocales TODO MAYUSCULAS KFC
6 esto era una prueba Este es el modulo de BASES DE DATOS Mi programa cuentas las VOCALES La palabra MURCIELAGO contiene las cinco vocales TODO MAYUSCULAS KFC
Output
8 21 11 19 6 0
9 13 11 19 6 0

