Java程式查詢字串中所有重複字元
字串中重複的字元是指出現不止一次的字元。在Java中,String是一個非基本資料型別,包含一個或多個字元,並用雙引號(" ")括起來。
根據題意,給定一個字串,我們的任務是編寫一個Java程式來查詢該字串中的所有重複字元。我們可以使用for迴圈和巢狀for迴圈來解決這個問題。
示例場景
Input: String str = "Apple"; Output: duplicate_char = p;
p是一個重複字元,因為它出現不止一次。
使用for迴圈
在這種方法中,我們遵循以下步驟:
- 首先將給定的字串轉換為字元陣列,然後使用Arrays.sort()方法對其進行排序。
- 接下來,使用for迴圈迭代字元陣列的元素。
- 使用if塊檢查當前字元是否等於下一個字元。
- 如果相等,則將該字元標記為重複字元,並重復此過程,直到陣列長度結束。
示例
在這個Java程式中,我們使用for迴圈來查詢並列印字串中的重複字元。
import java.util.Arrays; public class Example { public static void checkDupliChar(String str) { System.out.println("The string is: " + str); char[] carray = str.toCharArray(); // sorting the character array Arrays.sort(carray); System.out.println("Duplicate Characters in the above string are: "); // for loop to print duplicate character for (int i = 0; i < carray.length - 1; i++) { if (carray[i] == carray[i + 1]) { System.out.println(carray[i]); // loop to skip next occurrence of same character while (i < carray.length - 1 && carray[i] == carray[i + 1]) { i++; } } } } // main method public static void main(String[] args) { checkDupliChar("tutorialspoint"); } }
以上程式碼的輸出如下:
The string is: tutorialspoint Duplicate Characters in the above string are: i o t
使用巢狀for迴圈
按照以下步驟,使用巢狀for迴圈方法查詢字串中所有重複字元:
- 將給定的字串轉換為字元陣列。
- 從索引0執行外部for迴圈到字元陣列的長度。
- 內部for迴圈將從current+1索引執行到字元陣列的長度。
- 接下來,我們使用if塊檢查當前字元是否等於下一個字元。
- 如果相等,則列印重複字元。
示例
以下示例演示如何使用巢狀for迴圈查詢字串中所有重複字元。
public class Example { public static void main(String argu[]) { String str = "beautiful sea"; char[] carray = str.toCharArray(); System.out.println("The string is: " + str); System.out.print("Duplicate Characters in above string are: "); // nested for loop to print duplicate characters for (int i = 0; i < str.length(); i++) { for (int j = i + 1; j < str.length(); j++) { if (carray[i] == carray[j]) { System.out.print(carray[j] + " "); break; } } } } }
以上程式碼的輸出為:
The string is: beautiful sea Duplicate Characters in above string are: e a u
廣告