Zufallszahlen in Java

Um Zufallszahlen in Java zu erstellen, kann man die Bibliothek java.util.Random verwenden. Die Zufalls-Klasse von Java ist sehr vielseitig und bietet unter anderem die Möglichkeit, Zufallszahlen in einem bestimmten Bereich zu definieren. An dieser Stelle folgt ein kleiner Beispiel-Code, welcher 20 Zufallszahlen im Bereich von 0 und 72 (72 selbst wird ausgeschlossen) ausgibt:

1
2
3
4
5
6
7
8
9
10
    public void erstelleZufallsZahl()
    {
        Random zufallsgenerator = new Random();
 
        for(int i=0; i<20; i++)
        {
            int zahl = zufallsgenerator.nextInt(72);
            System.out.println(zahl);
        }
    }

Etwas ausführlicher:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.Random;
 
public class JavaApplication1
{
 
  public static void main(String[] args)
  {
    erstelleZufallsZahl();
  }
 
  public static void erstelleZufallsZahl()
  {
    Random zufallsgenerator = new Random();
 
    for (int i = 0; i < 20; i++)
    {
      int zahl = zufallsgenerator.nextInt(72);
      System.out.println(zahl);
    }
  }
}

5 Gedanken zu „Zufallszahlen in Java“

  1. Hallo Ina, ich habe das Beispiel für dich etwas ausführlicher hingeschrieben. Ich hoffe du kommst jetzt damit klar? Viele Grüße und nächstes Mal ein bisschen freundlicher sein! 😉 Benny

  2. Leider ist die Random-Klasse und auch Math.random… nicht zu gebrauchen, wenn es darum geht, wiederkehrende Kombinationspaarungen (…trippelungen) zu vermeiden. Diese Randomizierer sind zu schnell erschöpft. Spiele das gerade im Zusammenhang Lottokombinationen durch. Es wird versucht, > 1000 neue Dreier-Kombinationen zu finden. Hierfür werden a) aus allen Ziehungen alle bisherigen 3er-Kombinationen (18.xxx) ermittelt. 14 Sekunden mit Java und SQL (bisher :)). Danch werden sechser-Reihungen mit Hilfe Random (49) erstellt. Die cache-Liste wird dynamisch erweitert, damit nicht unnötig viele Durchläufe über alle Datenbank-Ziehungen notwendig sind (schließlich müssen je 6er alle 20 3er erstellt und compared werden).

    Ich bin jedenfalls derzeit etwas deprimiert, was die Qualität der Randomizierer angeht. Random ist nach 391 neuen Dreierkombinationen nicht mehr in der Lage eine Secherkette zu erstellen, die weitere neue 3er ermöglicht. Verwende ich Math.random, ist nach 401 feierabend.

  3. Zur Ehrrettung Javas. Was ich dort in meinem „jugendlichen Leichtsinn“ schrieb, war eine Fehlinterpretation der Randomizierfunktionen in Java. Mea culpa.

  4. Die Klammer nach dem for (int i = 0; i < 20; i++) ist falsch herum, die muss die Schleife schließen nicht eine neue öffnen!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.