Java-program til at finde alle undersæt af en streng
I denne øvelse lærer vi, hvordan du udskriver alle undersæt af en streng. Men før du går videre, hvis du ikke er bekendt med begrebet streng, så tjek artiklen om Strings i Java.
Input :Indtast strengen:WORLD
Output :undersættene af den indtastede streng er:
W
O
R
L
D
WO
ELLER
RL
LD
WOR
ORL
RLD
VERDEN
ORLD
VERDEN
Program 1:Find alle undersæt af en streng
I dette program vil vi bruge tre indlejrede for loops til at udskrive alle undersæt af en streng. Den første for loop bruges til at vælge startelementet, den anden for loop er nødvendig for at vælge slutelementet, og den tredje for loop bruges til at udskrive det valgte element fra start til slutelementer.
Algorithme
- Start
- Erklær en streng.
- Bed brugeren om at initialisere strengen
- Konverter det til et tegnarray.
- Kald en metode, der finder alle undersæt af en streng.
- Brug tre til sløjfer til det samme.
- Brug den første for-løkke til at vælge startindekset for undersættet.
- Brug den anden for-løkke til at holde slutindekset for delmængden.
- Brug den tredje for-løkke til at udskrive alle undersæt.
- Stop.
Nedenfor er koden til det samme i Java-sproget.
//Java Program to Find all the subsets of a string
import java.util.*;
public class Main
{
//To find all the subsets of a string
static void subString(char str[], int n)
{
// To select starting point
for (int t = 1; t <= n; t++)
{
// To select ending point
for (int i = 0; i <= n - t; i++)
{
// Print characters from selected
// starting to end point.
int j = i + t - 1;
for (int k = i; k <= j; k++)
{
System.out.print(str[k]);
}
System.out.println();
}
}
}
// Driver program to test above function
public static void main(String[] args)
{
//Take input from the user
Scanner sc=new Scanner(System.in);
System.out.println("Enter the string is "+str1);
String str1=sc.nextLine();
char str[] = str1.toCharArray();
System.out.println("All the substrings of the above string are: ");
subString(str, str.length);
}
}
Indtast strengen:Kode
Alle understrengene i ovenstående streng er:
C
o
d
e
Co
od
de
Cod
ode
Kode
Program 2:Find alle undersæt af en streng
I dette program vil vi bruge substr() metoden til at udskrive alle undersæt af den givne streng. Str.substr(i,j) vil udskrive understrengen med længden j startende fra indeks i i strengen.
Algorithme
- Start
- Erklær en streng.
- Initialiser den.
- Kald en metode for at finde alle undersæt af den indtastede streng.
- Vis strengen og strenglængden som parametre.
- Brug to til sløjfer til det samme.
- Brug den første for-løkke til at vælge startindekset for undersættet.
- Brug den anden for-løkke til at holde slutindekset for delmængden.
- Udskriv alle undersæt.
- Stop.
Nedenfor er koden til det samme i Java-sproget.
//Java Program to Find all the subsets of a string
public class Main
{
//To find all the subsets of a string
static void subString(String str, int n)
{
for (int i = 0; i < n; i++) //To select the starting index
{
for (int j = i+1; j <= n; j++) //To select the ending index
{
System.out.println(str.substring(i, j));
}
}
}
// Driver program to test above function
public static void main(String[] args)
{
String str="Hello";
System.out.println("The entered string are "+str);
System.out.println("All the substrings of the above string is: ");
//Call to find the all the subsets of the string
subString(str, str.length());
}
}
Den indtastede streng er Hej
Alle understrengene i ovenstående streng er:
H
He
Hej
Helve
Hej
e
el
ell
ello
l
ll
llo
l
lo
o