Daniel Thoma: Zufallsausgabe

Beitrag lesen

Hallo JürgenB,

While-Schleifen um einfach nur hoch oder runter zu zählen und "--" inline mag ich nicht besonders, aber mir ist gerade noch aufgefallen, dass das auch so geht:

  
public static void shuffle(int[] array) {  
    for (int i = 0; i < array.length; ++i) {  
        int r = random.nextInt(i + 1);  
        int t = array[i];  
        array[i] = array[r];  
        array[r] = t;  
    }  
}  

Ganz nett ist vielleicht zu überlegen, warum auch diese Variante stimmt.
Mit einer while-Shleife könnte man nuch das i + 1 und einen Aufruf von nextInt sparen (Der erste Aufruf liefert ja immer 0).
Aber ersteres schenke ich mir mal und letzteres überlasse ich dem Compiler ;-)

Grüße

Daniel