Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Chương trình Java kiểm tra chuỗi Pangram

Trong bài viết này, chúng ta sẽ tìm hiểu cách kiểm tra xem một chuỗi có phải là Pangram hay không. Chuỗi Pangram là chuỗi chứa tất cả các chữ cái trong bảng chữ cái (bỏ qua chữ hoa/thường).

Ví dụ minh họa

Đầu vào:

Chuỗi đầu vào: Abcdefghijklmnopqrstuvwxyz

Đầu ra mong muốn:

Có, chuỗi là một pangram

Thuật toán

  1. Bắt đầu
  2. Khai báo chuỗi input_string
  3. Gán giá trị
  4. Chuyển chuỗi thành mảng ký tự
  5. Duyệt mảng, kiểm tra xem có chứa đủ 26 chữ cái bằng charAt(i) - 'a'
  6. Nếu đủ, là Pangram
  7. Hiển thị kết quả
  8. Kết thúc

Ví dụ 1: Xử lý trực tiếp trong main

public class Pangram {
    static int size = 26;
    static boolean isLetter(char ch) {
        if (!Character.isLetter(ch))
            return false;
        return true;
    }
    public static void main(String args[]) {
        String input_string = "Abcdefghijklmnopqrstuvwxyz";
        System.out.println("Chuỗi được định nghĩa: " + input_string);
        int string_length = input_string.length();
        input_string = input_string.toLowerCase();
        boolean[] is_true = new boolean[size];
        for (int i = 0; i < string_length; i++) {
            if (isLetter(input_string.charAt(i))) {
                int letter = input_string.charAt(i) - 'a';
                is_true[letter] = true;
            }
        }
        boolean result = true;
        for (int i = 0; i < size; i++) {
            if (!is_true[i])
                result = false;
        }
        if (result)
            System.out.println("\nCó, chuỗi là một pangram");
        else
            System.out.println("\nKhông, chuỗi không phải là pangram");
    }
}

Kết quả

Chuỗi được định nghĩa: Abcdefghijklmnopqrstuvwxyz
Có, chuỗi là một pangram

Ví dụ 2: Sử dụng phương thức tách biệt (OOP)

public class Pangram {
    static int size = 26;
    static boolean isLetter(char ch) {
        if (!Character.isLetter(ch))
            return false;
        return true;
    }
    static boolean check_alphabets(String input_string, int string_length) {
        input_string = input_string.toLowerCase();
        boolean[] is_true = new boolean[size];
        for (int i = 0; i < string_length; i++) {
            if (isLetter(input_string.charAt(i))) {
                int letter = input_string.charAt(i) - 'a';
                is_true[letter] = true;
            }
        }
        for (int i = 0; i < size; i++) {
            if (!is_true[i])
                return false;
        }
        return true;
    }
    public static void main(String args[]) {
        String input_string = "Abcdefghijklmnopqrstuvwxyz";
        System.out.println("Chuỗi được định nghĩa: " + input_string);
        int string_length = input_string.length();
        if (check_alphabets(input_string, string_length))
            System.out.println("\nCó, chuỗi là một pangram");
        else
            System.out.println("\nKhông, chuỗi không phải là pangram");
    }
}

Kết quả

Chuỗi được định nghĩa: Abcdefghijklmnopqrstuvwxyz
Có, chuỗi là một pangram