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

โปรแกรม Java หาความถี่ของตัวอักษรในสตริง


บทนำ

ในบทความนี้ เราจะเรียนรู้วิธีการหาความถี่ (Frequency) ของตัวอักษรเฉพาะตัวในสตริง (String) สตริงเป็นชนิดข้อมูลที่ประกอบด้วยตัวอักษรหนึ่งตัวขึ้นไป และจะถูกล้อมรอบด้วยเครื่องหมายคำพูดคู่ (" ")

ตัวอย่างการทำงาน

อินพุทตัวอย่าง:

Input string: Java Programming is fun
Input character: a

เอาต์พุทที่คาดหวัง:

The frequency of a is 3

อัลกอริทึม

ขั้นตอนที่ 1 - เริ่มต้น
ขั้นตอนที่ 2 - ประกาศตัวแปร: input_string (สตริง), input_character (ตัวอักษร), counter (จำนวนเต็ม)
ขั้นตอนที่ 3 - กำหนดค่าให้กับตัวแปร
ขั้นตอนที่ 4 - วนลูปผ่านสตริงโดยใช้ for-loop เปรียบเทียบตัวอักษรแต่ละตัวกับตัวอักษรที่กำหนด หากตรงกัน ให้เพิ่มค่า counter
ขั้นตอนที่ 5 - แสดงผลลัพธ์
ขั้นตอนที่ 6 - จบการทำงาน

ตัวอย่างที่ 1: เขียนโค้ดในฟังก์ชัน main โดยตรง

public class Demo {
    public static void main(String[] args) {
        String input_string = "Java Programming is fun";
        System.out.println("The string is defined as: " + input_string);
        char input_character = 'a';
        System.out.println("The character is defined as: " + input_character);
        int counter = 0;
        for(int i = 0; i < input_string.length(); i++) {
            if(input_character == input_string.charAt(i)) {
                ++counter;
            }
        }
        System.out.println("The frequency of " + input_character + " is " + counter);
    }
}

เอาต์พุท

The string is defined as: Java Programming is fun
The character is defined as: a
The frequency of a is 3

ตัวอย่างที่ 2: ใช้ฟังก์ชันแยก (Object-Oriented Style)

public class Demo {
    public static int get_count(String input_string, char input_character) {
        int counter = 0;
        for (int i = 0; i < input_string.length(); i++) {
            if (input_character == input_string.charAt(i)) {
                ++counter;
            }
        }
        return counter;
    }
    
    public static void main(String[] args) {
        String input_string = "Java Programming is fun";
        System.out.println("The string is defined as: " + input_string);
        char input_character = 'a';
        System.out.println("The character is defined as: " + input_character);
        int counter = get_count(input_string, input_character);
        System.out.println("The frequency of " + input_character + " is " + counter);
    }
}

เอาต์พุท

The string is defined as: Java Programming is fun
The character is defined as: a
The frequency of a is 3