Wie machen n verschachtelte for-Schleifen rekursiv?

Habe ich eine Methode, die tun müssen, die folgenden:

for (int a01 = 1; a01 <= 25; a01++) {
    for (int a02 = a01 + 1; a02 <= 25; a02++) {
        for (int a03 = a02 + 1; a03 <= 25; a03++) {
            ...
            System.out.println(a01 + "," + a02 + "," + ... + "," + a015);
        }
    }
}

Ich würde gerne die Angabe der Anzahl der geschachtelten for-s (im obigen Fall, ich will 15 verschachtelte for-s).
Gibt es eine Möglichkeit, rekursiv Programmieren hier?

  • Bitte, keine. Tun Sie das nicht.
  • Erstellen Sie einfach eine Methode, und lassen Sie es sich 15 mal. Das ist eine rekursive Methode.
  • darauf zu erklären, warum? 😉
  • Unlesbar, unverständlich, hässlich, schlechtes design, voller bugs, nichts schlechtes denken kann.
  • Im Allgemeinen, ja, die Sie tun können, diese rekursiv, und es sein kann, "robust" und verständlich. (Beachten Sie, dass rekursive Routinen sind oft für einen Baum suchen, das ist tatsächlich geschachtelte for-Anweisungen.) Aber beachten Sie, dass es ist das geometrische Wachstum bei der Gesamtzahl der Wiederholungen und verschachtelte 15 tief, die routine kann nicht vollständig sein. Go for it! Selbst wenn Sie scheitern, werden Sie etwas lernen.
  • Beachten Sie, dass die rekursive routine braucht nur zu akzeptieren, der start-index, der die Tiefe (dekrementiert mit jeder nennen), und was auch immer Sie brauchen, um in den eigentlichen code.
  • Delimanolis: ich nehme an, dass er nicht wie der code es so. Er liebt es, eine multi-dimensionale mit einer dimension von 25. Einfache und saubere Verwendung rekursiver Programmierung - als er so fragte.

Schreibe einen Kommentar