Giả sử chuỗi:
String myStr = "Jamie";
Đặt biến count = 0, duyệt qua từng ký tự và đếm nguyên âm:
for(char ch : myStr.toCharArray()) {
ch = Character.toLowerCase(ch);
if(ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') {
++count;
}
}
Ví dụ hoàn chỉnh
public class Demo {
public static void main(String[] args) {
String myStr = "Jamie";
int count = 0;
System.out.println("String = " + myStr);
for(char ch : myStr.toCharArray()) {
ch = Character.toLowerCase(ch);
if(ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') {
++count;
}
}
System.out.println("Vowels = " + count);
}
}
Kết quả
String = Jamie Vowels = 3
Cách khác (Java 8+ Stream):
long count = myStr.toLowerCase().chars()
.filter(ch -> "aeiou".indexOf(ch) >= 0)
.count();
Lưu ý: Chỉ đếm nguyên âm tiếng Anh (a, e, i, o, u). Tiếng Việt có thêm ă, â, ê, ô, ơ, ư, y... cần mở rộng điều kiện filter.