Heim  >  Artikel  >  Java  >  Welche Methode wird verwendet, um in Java eindeutige Zufallszahlen zu generieren?

Welche Methode wird verwendet, um in Java eindeutige Zufallszahlen zu generieren?

王林
王林Original
2019-11-20 10:48:363555Durchsuche

Welche Methode wird verwendet, um in Java eindeutige Zufallszahlen zu generieren?

Methode 1: Rufen Sie die random()-Methode in der Math-Klasse unter java.lang auf, um Zufallszahlen zu generieren

Erstellen Sie eine neue Datei mit dem Suffixnamen java, und Der Dateiname ist MyRandom. Schreiben Sie den folgenden Code in diese Klasse:

public class MyRandom {
    public static void main(String[] args) {
        int radom = (int)(Math.random()*10);
        System.out.println(radom);
    }
}

wobei Math.random() eine zufällige Dezimalzahl zwischen 0 und 1 generiert.

Erzeugt eine Ganzzahl zwischen 0 und 9 als: (int)(Math.random()*10)

Erzeugt eine Ganzzahl zwischen 1 und 10 als: (int)(Math.random()*10 + 1)

mit Analog: um eine Zahl zu generieren zwischen 0 und n sollte es wie folgt geschrieben werden: Math.random()*n

Nehmen Sie eine zufällige positive Ganzzahl einer bestimmten Länge heraus:

public static int buildRandom(int length) {
    int num = 1;
    double random = Math.random();
    if (random < 0.1) {
        random = random + 0.1;
    } 
    for (int i = 0; i < length; i++) {
        num = num * 10;
    }
    return (int) ((random * num));
}

Methode 2: Rufen Sie unten java.util auf. Zufällige Klasse, Instanzen Diese Klasse wird verwendet, um einen Pseudozufallszahlenstrom zu generieren und eine zufällige Ganzzahl zu generieren. Bevor Sie die Random-Klasse verwenden, lautet der Code wie folgt: java.util.Random

import java.util.Random;
public class MyRandom {
    public static void main(String[] args) {
    Random rand = new Random();
    int rInt = rand.nextInt(10);
    System.out.println(rInt);
    }
}

wobei

einen neuen Zufallszahlengenerator erstellen soll; Random rand = new Random() wird aus der Sequenz dieses Zufallszahlengenerators entnommen und gleichmäßig zwischen 0 (einschließlich) und dem angegebenen Wert n (ausschließlich) verteilt. int-Wert. rand.nextInt(int n)

In Java generiert die angegebene Ganzzahlbereichsklasse verschiedene Zufallszahlen in einer Schleife.

Nehmen Sie das Beispiel der Generierung von 6 verschiedenen zufälligen Ganzzahlen innerhalb von 20 Ziffern wie folgt:

public class MyRandom {
    public static void main(String[] args) {
        int n = 20;
        Random rand = new Random();
        boolean[] bool = new boolean[n];
        int randInt = 0;
        for(int i = 0; i < 6 ; i++) {
            do {
            randInt = rand.nextInt(n);
        }while(bool[randInt]);
        bool[randInt] = true;
        System.out.println(randInt);
        }
    }
}

Unter diesen wird ein boolesches Variablenarray verwendet, um zu speichern, ob die Zahl generiert wird. Nach der Generierung wird die Zahl als entsprechender boolescher Wert in der Tabelle unten des booleschen Arrays wahr. Wenn die Zahl das nächste Mal generiert wird, tritt sie erneut in die do...while-Schleife ein, um Zahlen zu generieren, bis eine Zahl generiert wird, die noch nicht vorhanden war generiert, bevor generiert wird.

Empfohlenes Tutorial:

Einführung in die Java-Entwicklung

Das obige ist der detaillierte Inhalt vonWelche Methode wird verwendet, um in Java eindeutige Zufallszahlen zu generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn