Java 程式檢查字串是否為 pangram


Pangram 是一個包含英語字母表中所有字母的字串。例如,“The quick brown fox jumps over the lazy dog”。

問題陳述

給定一個字串,編寫一個 Java 程式來檢查它是否為 pangram。

請考慮以下示例 -

輸入
The quick brown fox jumps over the lazy dog.
輸出
String: The quick brown fox jumps over the lazy dog.
The above string is a pangram.

演算法

以下演算法側重於檢查字串是否為 pangram。

  • 步驟 1:建立一個大小為 26 的布林陣列 `alphaList` 來跟蹤每個字母的存在。

  • 步驟 2:將整數 `flag` 初始化為 1,假設字串為 pangram。

  • 步驟 3:檢查 字串中的每個字元:迴圈遍歷字串中的每個字元。

  • 步驟 4:如果字元是字母(大寫或小寫),則計算其在字母表中的索引,並將 `alphaList` 中相應的位位置為 `true`。

  • 步驟 5:驗證所有字母:迴圈遍歷 `alphaList`

  • 步驟 6:如果任何位位置為 `false`,則將 `flag` 設定為 0(表示字串不是 pangram)。

  • 步驟 7:根據 `flag` 的值列印原始字串以及它是否為 pangram。

Java 程式檢查字串是否為 pangram

下面給出了一個檢查字串是否為 pangram 的程式。

public class Example {
    public static void main(String[] args) {
        String str = "The quick brown fox jumps over the lazy dog";
        boolean[] alphaList = new boolean[26];
        int index = 0;
        int flag = 1;
        for (int i = 0; i < str.length(); i++) 
        {
            if ( str.charAt(i) >= 'A' && str.charAt(i) <= 'Z') 
            {
                index = str.charAt(i) - 'A';
            } 
            else if( str.charAt(i) >= 'a' &&  str.charAt(i) <= 'z') 
            {
                index = str.charAt(i) - 'a';
            }
            alphaList[index] = true;
        }

        for (int i = 0; i <= 25; i++) 
        {
            if (alphaList[i] == false)
                flag = 0;
        }
        System.out.print("String: " + str);
        if (flag == 1)
            System.out.print("\nThe above string is a pangram.");
        else
            System.out.print("\nThe above string is not a pangram.");
    }
}

輸出

String: The quick brown fox jumps over the lazy dog
The above string is a pangram.

程式碼解釋

使用 for 迴圈遍歷字串 'str',對於每個字母,將 aplhaList 中相應的索引設定為 true。

演示此功能的程式碼片段如下所示:

for (int i = 0; i < str.length(); i++) {
    if (str.charAt(i) >= 'A' && str.charAt(i) <= 'Z') {
        index = str.charAt(i) - 'A';
    } else if
    (str.charAt(i) >= 'a' && str.charAt(i) <= 'z') {
        index = str.charAt(i) - 'a';
    }
    alphaList[index] = true;
}

之後,遍歷 陣列 alphaList。如果所有值都為 true,則字串為 pangram,並且 flag 的值保持為 1。但是,如果即使 1 個值為 false,則字串不是 pangram,並且 flag 的值被設定為 0。然後顯示字串是否為 pangram。

演示此功能的程式碼片段如下所示。

for (int i = 0; i <= 25; i++) {
    if (alphaList[i] == false)
        flag = 0;
}
System.out.print("String: " + str);
if (flag == 1)
    System.out.print("\nThe above string is a pangram.");
else
    System.out.print("\nThe above string is not a pangram.");
}

更新於: 2024-06-27

9K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.