Java >> Tutoriel Java >  >> Tag >> String

Programme Java pour trouver tous les sous-ensembles d'une chaîne

Dans ce tutoriel, nous allons apprendre à imprimer tous les sous-ensembles d'une chaîne. Mais avant d'aller plus loin, si vous n'êtes pas familier avec le concept de chaîne, consultez l'article sur les chaînes en Java.

Entrée :Saisissez la chaîne :MONDE

Sortie  :les sous-ensembles de la chaîne saisie sont :

W

O

R

L

D

WO

OU

RL

LD

WOR

ORL

RLD

MONDE

ORLD

MONDE

Programme 1 :Trouver tous les sous-ensembles d'une chaîne

Dans ce programme, nous utiliserons trois boucles for imbriquées pour imprimer tous les sous-ensembles d'une chaîne. La première boucle for est utilisée pour sélectionner l'élément de départ, la deuxième boucle for est nécessaire pour sélectionner l'élément final et la troisième boucle for est utilisée pour imprimer l'élément sélectionné du début à la fin.

Algorithme

  1. Commencer
  2. Déclarez une chaîne.
  3. Demander à l'utilisateur d'initialiser la chaîne
  4. Convertissez-le en tableau de caractères.
  5. Appelez une méthode qui trouvera tous les sous-ensembles d'une chaîne.
  6. Utilisez trois boucles for pour la même chose.
  7. Utilisez la première boucle for pour sélectionner l'index de départ du sous-ensemble.
  8. Utilisez la deuxième boucle for pour conserver l'index de fin du sous-ensemble.
  9. Utilisez la troisième boucle for pour imprimer tous les sous-ensembles.
  10. Arrêtez.

Vous trouverez ci-dessous le code correspondant en langage Java.

//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);
    }
}


Entrez la chaîne :Code
Toutes les sous-chaînes de la chaîne ci-dessus sont :
C
o
d
e
Co
od
de
Cod
ode
Code

Programme 2 :Trouver tous les sous-ensembles d'une chaîne

Dans ce programme, nous utiliserons la méthode substr() pour imprimer tous les sous-ensembles de la chaîne donnée. Le str.substr(i,j) imprimera la sous-chaîne de longueur j à partir de l'index i dans la chaîne.

Algorithme

  1. Commencer
  2. Déclarez une chaîne.
  3. Initialisez-le.
  4. Appelez une méthode pour trouver tous les sous-ensembles de la chaîne saisie.
  5. Passez la chaîne et la longueur de la chaîne en tant que paramètres.
  6. Utilisez deux boucles for pour la même chose.
  7. Utilisez la première boucle for pour sélectionner l'index de départ du sous-ensemble.
  8. Utilisez la deuxième boucle for pour conserver l'index de fin du sous-ensemble.
  9. Imprimez tous les sous-ensembles.
  10. Arrêtez.

Vous trouverez ci-dessous le code correspondant en langage Java.

//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());
    }
}


La chaîne saisie est Hello
Toutes les sous-chaînes de la chaîne ci-dessus sont :
H
He
Hel
Hell
Hello
e
el
ell
ello
l
ll
llo
l
lo
o


Balise Java