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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP