Java程式檢查給定字串是否為Pangram(潘格拉姆)


在本文中,我們將瞭解如何檢查給定的字串在Java中是否為Pangram(潘格拉姆)。如果一個字串包含字母表中的所有字元(不區分大小寫),則該字串為Pangram字串。這裡,我們將使用兩種不同的方法:使用main()方法和使用封裝

問題陳述

給定一個字串,編寫一個Java程式來查詢該字串是否為Pangram。

輸入

Input string: Abcdefghijklmnopqrstuvwxyz

輸出

Yes, the string is a pangram

不同的方法

以下是檢查給定字串是否為Pangram的步驟:

使用main()方法

以下是使用main()方法檢查給定字串是否為Pangram的步驟:

  • 首先,我們將建立一個名為Pangram的類,其中包含一個常量size = 26和一個輔助方法isLetter(char ch)來檢查字元是否為字母。
  • 在main()中,定義輸入字串"Abcdefghijklmnopqrstuvwxyz",列印它,並將其轉換為小寫。
  • 建立一個大小為26的布林陣列is_true,以標記每個字母是否已找到。
  • 使用for迴圈遍歷input_string中的每個字母,並在is_true中標記其位置。
  • 遍歷is_true並使用if else語句進行條件檢查,如果任何條目為false,則結果為false。
  • 如果所有字母都存在,則列印"Yes, the string is a pangram";否則,列印"No, the string is not a pangram"。

示例

在這裡,我們將所有操作繫結到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("The string is defined as: " +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;
      for (int i = 0; i < size; i++) {
         if (!is_true[i])
            result = false;
      }
      result = true;
      if (result)
         System.out.println("\nYes, the string is a pangram");
      else
         System.out.println("\nNo, the string is not a pangram");
   }
}

輸出

The string is defined as: Abcdefghijklmnopqrstuvwxyz

Yes, the string is a pangram

使用封裝

以下是使用封裝檢查給定字串是否為Pangram的步驟:

  • 首先,我們將定義Pangram類,其中size = 26和一個輔助方法isLetter(char ch)。
  • 建立check_alphabets(String input_string, int string_length)方法,將輸入轉換為小寫,在布林陣列中標記字母,並驗證所有字母是否存在。
  • 在main()中,初始化輸入字串"Abcdefghijklmnopqrstuvwxyz",列印它,並呼叫check_alphabets方法。
  • 根據check_alphabets的返回值,列印"Yes, the string is a pangram"或"No, the string is not a pangram"。

示例

在這裡,我們將操作封裝到函式中,展示了面向物件程式設計

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("The string is defined as: " +input_string);
   int string_length = input_string.length();
   if (check_alphabets(input_string, string_length))
      System.out.println("\nYes, the string is a pangram");
   else
      System.out.println("\nNo, the string is not a pangram");
   }
}

輸出

The string is defined as: Abcdefghijklmnopqrstuvwxyz

Yes, the string is a pangram

更新於:2024年11月5日

475 次瀏覽

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.