Java Random: Die Java Random Klasse & Java Math.random()

    Avatarbild von Perica Glavas
    Perica Glavas

    veröffentlicht am: 03.06.2022
    zuletzt aktualisiert am: 03.06.2022

    Seit Tausenden von Jahren werden Zufallszahlen in Situationen verwendet, in denen das Ergebnis dem Zufall überlassen werden soll, z. B. beim Würfeln oder Werfen einer Münze. Die „Zufallszahlengeneratoren“ erfüllen in der Programmiersprache Java die gleiche Funktion, da sie einen zufälligen und unvorhersehbaren Wert liefern. Zufallszahlengeneratoren werden auch in Computerspielen verwendet, um Zufallszahlen für Glücksspiele zu erzeugen. Deshalb schauen wir uns nun die Java Random Klasse im Detail an!

    In Java sind die beiden am häufigsten verwendeten Ansätze zur Erzeugung von Zufallszahlen:

    • Verwendung der Klasse Java Random
    • Verwendung der Methode Math.random().

    In diesem Beitrag werden wir beide Ansätze im Detail behandeln. So, lass uns loslegen!

    Die Klasse Java Random

    In Java enthält das Paket „java.util“ die Klasse „Random„, die bei der Erzeugung verschiedener Arten von Zufallszahlen mit Hilfe von Methoden wie nextInt(), nextLong() und nextDouble() hilft.

    Eine Zufallszahl mit der Java Random Klasse erzeugen

    Bevor wir eine Methode der Klasse „Random“ aufrufen, müssen wir zunächst die Klasse „java.util.Random“ in unser Programm importieren:

    import java.util.Random;

    Anschließend erstellen wir eine Instanz der Klasse „Random“ mit dem Namen „randomNumber„:

    Random zufallszahlenGenerator = new Random();

    Danach rufen wir die Methode „next.Int()“ auf, um eine Zufallszahl zwischen „0“ und „500“ zu erzeugen. Beachte, dass wir „500“ als „Obergrenze“ an die Methode „nextInt()“ übergeben haben:

    // Generiere eine zufällige Integer-Zahl
    int zufaelligerInt = zufallszahlenGenerator.nextInt(500);
    System.out.println("Deine zufällige Zahl ist: " + zufaelligerInt);

    Schließlich erzeugen wir eine weitere Zufallszahl vom Typ „double„, indem wir die Methode „nextDouble()“ der Klasse „Random“ verwenden:

    // Generiere eine zufällige Double-Zahl
    double zufaelligerDouble = zufallszahlenGenerator.nextDouble();
    System.out.println("Deine zufällige Fließkommazahl ist: " + zufaelligerDouble);

    Die Methode „nextDouble()“ arbeitet ohne ein Argument und gibt eine Zufallszahl zwischen den Werten „0.0“ und „1.0“ aus. Unser finales Programm sieht dann so aus:

    // Implementierung vom Zufallsgenerator in der Java-Programmierung
    
    import java.util.Random;
    
    public class Main {
        public static void main(String[] args) {
    
            Random zufallszahlenGenerator = new Random();
    
            // Generiere eine zufällige Integer-Zahl
            int zufaelligerInt = zufallszahlenGenerator.nextInt(500);
            System.out.println("Deine zufällige Zahl ist: " + zufaelligerInt);
    
            // Generiere eine zufällige Double-Zahl
            double zufaelligerDouble = zufallszahlenGenerator.nextDouble();
            System.out.println("Deine zufällige Fließkommazahl ist: " + zufaelligerDouble);
        }
    }

    Wie man an der gezeigten Ausgabe sehen kann, haben wir erfolgreich Zufallszahlen mit der Java Random Klasse erzeugt:

    Pseudozufallszahlen ist die größte Gefahr des Zufallszahlengenerators!

    Mehrere Zufallszahlen mit der Java Klasse Random generieren

    Wenn in einem Java Programm mehrere Zahlen generiert werden sollen, dann fügt man eine „Java for-Schleife“ wie folgt ein:

    for (int i = 0; i < 5; i++) {
        int zufaelligerInt = zufallszahlenGenerator.nextInt(500);
        System.out.println(i + 1 + "te zufällige Zahl ist: " + zufaelligerInt);
    }

    Die angegebene Methode „nextInt()“ der Java Klasse „Random“ wird „5“ Mal ausgeführt und erzeugt bei jeder Iteration eine Zufallszahl vom Typ Integer.

    Ausgabe auf der Konsole

    Double Zahlen (engl. Number bzw. Numbers) und andere Zahlen kannst du mit dem Zufallsgenerator erstellen!

    Wenden wir uns nun einem anderen Ansatz zur Erzeugung von Zufallszahlen in Java zu.

    Die Java Math.random() Methode

    In Java bietet die Klasse „Math“ verschiedene Methoden zur Durchführung numerischer Operationen, wie z. B. die Berechnung von Logarithmen, Quadratwurzeln, Potenzierung und die Ermittlung des Vorzeichens einer Zahl. Eine dieser Methoden ist „Math.random()„.

    Die Methode „Math.random()“ gibt eine „double„-Zahl zurück, die größer oder gleich „0,0“ und kleiner als der Wert „1,0“ ist und ein positives Vorzeichen hat. Wenn man also eine Zufallszahl vom Typ „double“ in Java erzeugen will, muss man die statische Methode „Math.random()“ aufrufen.

    Syntax

    Math.random();

    Die Methode „Math.random()“ akzeptiert kein Argument und gibt eine doppelte Fließkommazahl zwischen „0,0“ und „1,0“ zurück.

    Zufallszahlen mit der Java Math.random() Methode erzeugen

    Wir werden nun zwei Zufallszahlen vom Typ „double“ mit der Methode „Math.random()“ erzeugen:

    System.out.println("Erste Zufallszahl: " + Math.random());
    System.out.println("Zweite Zufallszahl: " + Math.random());

    Die Ausführung der hinzugefügten „Math.random()“ Methoden hat die folgenden Zufallszahlen geliefert:

    Wir können die Math.random()-Methode verwenden ohne die Klasse per Java util zu importieren! Und, wir müssen kein Objekt erstellen, wie beispielsweise Random rand = new random!

    Mehrere Zufallszahlen mit der for-Schleife und der Methode Math.random() erzeugen

    Man kann auch die „for-Schleife“ mit der Methode „Math.random()“ verwenden, um mehrere Zufallszahlen zu erzeugen. Im folgenden Beispiel wird die Methode „Math.random()“ entsprechend der for-Schleife5“ Mal aufgerufen und gibt fünf Zufallszahlen aus:

    for (int i = 0; i < 5; i++) {
        System.out.println(Math.random());
    }

    Ausgabe

    Zufallszahlen werden häufig verwendet, um Long Seed Passwörter zu erstellen!

    Das waren alle wesentlichen Informationen zur Erzeugung von Zufallszahlen in Java. Du kannst bei Bedarf noch weiter recherchieren.

    Zusammenfassung: Java Random

    Die Java Klasse „Random“ und die Methode „Math.random()“ werden hauptsächlich zur Erzeugung von Zufallszahlen in einem Java Programm verwendet. Um die Methoden der Java Klasse „Random“ zu verwenden, erstellt man ihre Instanz und ruft die gewünschte Methode auf, um Zufallszahlen eines bestimmten Typs zu erzeugen. Die Methode „Math.random()“ wird hingegen direkt aufgerufen. In diesem Beitrag wurden zwei verschiedene Ansätze zur Erzeugung von Zufallszahlen in Java behandelt.

    😩 Gelangweilt von den Udemy & YouTube-Tutorials?!

    Lerne spielerisch Java und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.

    TP Star TP Star TP Star TP Star TP Star

    "Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."

    - Lennart Sparbier

    100% kostenlos registrieren · keine Kreditkarte notwendig

    👋 Wir warten bereits auf dich!

    Lerne das, was du wirklich brauchst.

    Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.

    Logo von Python
    Logo von PyTorch
    Logo von Pandas
    Logo von Matplotlib
    Logo von Java
    Logo von NumPy
    Mehr erfahren

    100% kostenlos registrieren · keine Zahlungsdaten notwendig