Java程式查詢字串的所有子集
在本文中,我們將瞭解如何查詢字串的所有子集。在Java中,字串是一種資料型別,包含一個或多個字元,並用雙引號(“ ”)括起來。字串的一部分或子集稱為子字串。
示例場景
Input: string = JVM; Output: The subsets of the string are: J, JV, JVM, V, VM, M
在Java中查詢字串的所有子集
使用以下方法在Java中查詢字串的所有子集:
- 使用巢狀for迴圈
- 使用substring()方法
使用巢狀for迴圈
在這種方法中,我們使用巢狀的for迴圈。外部迴圈將執行到子集的數量,內部迴圈將執行到字串長度。在內部迴圈中,使用if塊檢查並列印子集。
示例
以下Java程式演示瞭如何使用巢狀for迴圈查詢字串的所有子集。
public class Demo {
public static void main(String[] args) {
String input_string = "run";
int string_length = input_string.length();
// total number of subset 2^n
int maxLen = 1 << string_length ;
System.out.println("Given String: " + input_string);
System.out.print("Subsets of the String: ");
// creating substrings
for (int i = 0; i < maxLen; i++) {
String string_subset = "";
for (int j = 0; j < string_length ; j++) {
if ((i & (1 << j)) > 0) {
string_subset += input_string.charAt(j);
}
}
System.out.println(string_subset);
}
}
}
執行後,此程式碼將顯示以下結果:
Given String: run Subsets of the String: r u ru n rn un run
使用substring()方法
Java字串類的substring()方法用於檢索指定字串的子集。此方法接受兩個引數,即開始索引和結束索引,並在該範圍內列印子集。
示例
在這個例子中,我們使用substring()方法列印給定字串的所有子集。
public class Demo {
public static void main(String[] args) {
String input_string = "JVM";
int string_length = input_string.length();
int temp = 0;
System.out.println("The string is defined as: " +input_string);
String string_array[] = new String[string_length*(string_length+1)/2];
for(int i = 0; i < string_length; i++) {
for(int j = i; j < string_length; j++) {
string_array[temp] = input_string.substring(i, j+1);
temp++;
}
}
System.out.println("The subsets of the string are: ");
for(int i = 0; i < string_array.length; i++) {
System.out.println(string_array[i]);
}
}
}
執行程式碼後,將顯示以下輸出:
The string is defined as: JVM The subsets of the string are: J JV JVM V VM M
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP