Java >> Java tutorial >  >> Tag >> String

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

  1. Start
  2. Erklær en streng.
  3. Bed brugeren om at initialisere strengen
  4. Konverter det til et tegnarray.
  5. Kald en metode, der finder alle undersæt af en streng.
  6. Brug tre til sløjfer til det samme.
  7. Brug den første for-løkke til at vælge startindekset for undersættet.
  8. Brug den anden for-løkke til at holde slutindekset for delmængden.
  9. Brug den tredje for-løkke til at udskrive alle undersæt.
  10. 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

  1. Start
  2. Erklær en streng.
  3. Initialiser den.
  4. Kald en metode for at finde alle undersæt af den indtastede streng.
  5. Vis strengen og strenglængden som parametre.
  6. Brug to til sløjfer til det samme.
  7. Brug den første for-løkke til at vælge startindekset for undersættet.
  8. Brug den anden for-løkke til at holde slutindekset for delmængden.
  9. Udskriv alle undersæt.
  10. 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


Java tag