Java und Zufall

Dass es für Computer schwierig (oder besser: unmöglich) ist, wirklich gute Zufallszahlen zu erzeugen, dürfte hinlänglich bekannt sein. Dass ein Random-Generator bei jedem Neustart mit einem neuen Initialwert gestartet werden sollte (ansonsten wiederholen sich die Folgen) auch. Und auch die Praxis, dass man dafür meistens einen Zeitwert nimmt ebenso. Aber schlagen wir all diese Regeln mal in den Wind und schauen uns an, was das folgende Programm anstellt.

Java Programm für die Ausgabe einer Reihe von zehn Zufallszahlen:

import java.util.Random;

public class RandomDemo {

   public static void main(final String[] args) {
      Random random = new Random(-6732303926L);
      for (int i = 0; i < 10; i++) {
         System.out.print(random.nextInt(10) + " ");
      }
   }
}

Hier wird der Random-Generator mit der Konstante -6732303926L initialisiert, und somit ist klar, dass die erzeugten Zufallszahlen reproduzierbar bei jedem Start immer wieder die Gleichen sind. Aber nicht nur das! Die Reihe der Zufallszahlen ist auch ziemlich speziell! Da staunt der Leihe und der Fachmann wundert sich. Nur der Mathematiker wird schmunzeln…

Viel Spass beim Ausprobieren. Es lohnt sich!

2 Gedanken zu „Java und Zufall

Leave a Reply

Your email address will not be published. Required fields are marked *