Просто чтобы показать еще одну простую концепцию ... Используйте метод String # replaceAll () с регулярным выражением (RegEx) для подсчета количества гласных в слове или строке,
Регулярное выражение ("(?i)[^aeiou]"
), используемое в методе String # replaceAll () , в основном говорит методу о замене всех символов пустой строкой ( "" )это не a , e , i , o или u независимо от буквенного дела.Затем мы берем оставшееся количество символов (которое будет всеми гласными) в качестве числа для числа гласных в слове или строке, поскольку они были единственными символами, которые были не заменены:
String a = "This sentence has vowels";
int vowelCount = 0;
String[] words = a.split("\\s+");
for (int i = 0; i < words.length; i++) {
vowelCount = words[i].replaceAll("(?i)[^aeiou]", "").length();
System.out.println("Word #" + (i + 1) + " [" + words[i] +
"] contains " + vowelCount + " vowels.");
}
Вывод на консоль выглядит следующим образом:
Word #1 [This] contains 1 vowels.
Word #2 [sentence] contains 3 vowels.
Word #3 [has] contains 1 vowels.
Word #4 [vowels] contains 2 vowels.