Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

Java Program นับสระ (Vowels) ใน String

สมมติมี String:

String myStr = "Jamie";

ตั้งตัวแปร count = 0 Loop ทุก Character นับสระ (a, e, i, o, u) ไม่สนใจ Case

for (char ch : myStr.toCharArray()) {
    ch = Character.toLowerCase(ch);
    if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') {
        ++count;
    }
}

ตัวอย่างโค้ดเต็ม

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);
    }
}

ผลลัพธ์

String = Jamie
Vowels = 3

วิธีอื่น (Java 8+ Streams):

long count = myStr.toLowerCase().chars()
    .filter(ch -> "aeiou".indexOf(ch) >= 0)
    .count();

ขยายได้: รองรับสระภาษาอื่น (ยูนิโค้ด) โดยปรับเงื่อนไข Filter