Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Zufallszahlen in Java generieren: Praktischer Leitfaden mit Random und Math.random

In diesem prägnanten Tutorial lernen Sie, wie Sie Zufallswerte in Java mit den zwei gängigsten Ansätzen erzeugen: java.util.Random und Math.random(). Beide sind Teil des JDK, aber jeder dient leicht unterschiedlichen Use-Cases und bietet einzigartige Features.

Zufallszahlengenerierung mit java.util.Random

Die Random-Klasse kann int, long, float, double und boolean Werte erzeugen. Instanziieren Sie sie einmal und wiederverwenden Sie dasselbe Objekt, um Performance-Overhead zu vermeiden.

Nachfolgend ein vollständiges Beispiel, das zehn zufällige Integer zwischen 0 und 99 (inklusiv) ausgibt. Wenn Sie die obere Grenze inklusiv benötigen, addieren Sie 1 zum Argument.

import java.util.Random;
public class RandomNumbers {
    public static void main(String[] args) {
        Random rng = new Random();
        for (int i = 0; i < 10; i++) {
            int randomNumber = rng.nextInt(100); // 0-99
            System.out.println("Random No: " + randomNumber);
        }
    }
}

Typische Ausgabe:

Random No: 17
Random No: 57
Random No: 73
Random No: 48
Random No: 68
Random No: 86
Random No: 34
Random No: 97
Random No: 73
Random No: 18

Da Random für die meisten Anwendungen thread-sicher ist, können Sie dieselbe Instanz über mehrere Threads teilen, falls nötig. Für reproduzierbare Sequenzen übergeben Sie einen Seed: new Random(42).

Zufallszahlengenerierung mit Math.random()

Wenn Sie nur schnell ein double im Bereich [0.0, 1.0) benötigen, ist Math.random() praktisch. Es delegiert intern an eine einzelne Random-Instanz, sodass es für kleine Workloads effizient ist.

Beispiel: Erzeugen Sie zehn double-Werte.

public class DemoRandom {
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            System.out.println(Math.random());
        }
    }
}

Typische Ausgabe:

0.46518450373334297
0.14859851177803485
0.5628391820492477
0.6323378498048606
0.1740198445692248
0.9140544122258946
0.9167350036262347
0.49251219841030147
0.7426056725722353

Um Integer oder Doubles in einem anderen Bereich zu erzeugen, kombinieren Sie Math.random() mit Arithmetik. Zum Beispiel, um ein zufälliges int zwischen 1 und 10 inklusiv zu erhalten: (int)(Math.random() * 10) + 1.

Wichtigste Erkenntnisse

Java

  1. Java EE Applikationen auf Microsoft Azure deployen: Schritt-für-Schritt Guide
  2. Java List Interface: Überblick, Implementierungen und Schlüsselmethoden
  3. Java Collections Algorithmen meistern: Sortieren, Mischen und mehr
  4. Array von Objekten in Java erstellen: Schritt-für-Schritt-Anleitung
  5. Java String length() Methode: String-Länge ermitteln (Beispiel)
  6. Java String compareTo() meistern: Syntax, Anwendungsfälle und praktische Beispiele
  7. Dateien in Java mit BufferedReader lesen – Praktischer Leitfaden mit Beispielen
  8. Char in String in Java konvertieren – Praxisbeispiele und Best Practices
  9. String in Java mit Rekursion umkehren – Schritt-für-Schritt-Anleitung
  10. Java 8 Streams: Deklarative Datenverarbeitung – filter, map, reduce, collect & parallel