Utwórz łańcuch wszystkich możliwych kombinacji liczb czterocyfrowych str = „0000”, „0001”,… „9999”; - java [zamknięte]

Nov 25 2020

Muszę utworzyć ciąg wszystkich możliwych 4-cyfrowych kombinacji liczb. Na przykład str = "0000", "0001", "0002", ..., "9999";

Mogę wydrukować kombinacje, ale zadaniem jest zapisanie tego w łańcuchu i nie mogę znaleźć rozwiązania. Oto kod, który napisałem do tej pory. Działa idealnie na wyjściu.

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

Odpowiedzi

4 AndrianSoluk Nov 25 2020 at 17:17

Możesz użyć String.format. Zobacz następujący przykład:

    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

Zamiast je drukować, możesz dołączyć je do pliku StringBuilder. Po zakończeniu wszystkich pętli możesz uzyskać żądany ciąg, wywołując 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);
    }
}