Créez une chaîne de toutes les combinaisons possibles de nombres à 4 chiffres str = "0000", "0001",… "9999"; - java [fermé]

Nov 25 2020

J'ai besoin de créer une chaîne de toutes les combinaisons possibles de nombres à 4 chiffres. Comme str = "0000", "0001", "0002", ..., "9999";

Je peux imprimer les combinaisons, mais la tâche consiste à enregistrer cela dans une chaîne et je n'arrive pas à trouver une solution. Voici le code que j'ai écrit jusqu'à présent. Cela fonctionne parfaitement pour la sortie.

public class AufgabeTrial {

public static void main(String[] args) 
{
    for(int w=0; w<=9; w++)
    {
        for(int x=0; x<=9; x++)
        {
            for(int y=0; y<=9; y++)
            {
                for(int z=0; z<=9; z++)
                    
                    System.out.println(String.valueOf(w) + String.valueOf(x) + String.valueOf(y)+ String.valueOf(z));
                    
                    
            }
        }
    }

Réponses

4 AndrianSoluk Nov 25 2020 at 17:17

Vous pouvez utiliser String.format. Veuillez consulter l'exemple suivant:

    public static void main(String[] args) {
        printPattern();
      }
    
      private static void printPattern() {
        for (int i=0;i<=9999;i++){
          System.out.println(String.format("%04d", i));
        }
      }
2 LiveandLetLive Nov 25 2020 at 17:15

Au lieu de les imprimer, vous pouvez les ajouter à un fichier StringBuilder. Une fois que toutes les boucles sont terminées, vous pouvez obtenir la chaîne souhaitée en appelant StringBuilder#toString.

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        for (int w = 0; w <= 9; w++) {
            for (int x = 0; x <= 9; x++) {
                for (int y = 0; y <= 9; y++) {
                    for (int z = 0; z <= 9; z++)
                        sb.append(String.valueOf(w) + String.valueOf(x) + String.valueOf(y) + String.valueOf(z))
                                .append(System.lineSeparator());
                }
            }
        }
        String result = sb.toString();
        System.out.println(result);
    }
}