Heim  >  Artikel  >  Java  >  So legen Sie Zufallszahlen in Java fest

So legen Sie Zufallszahlen in Java fest

巴扎黑
巴扎黑Original
2017-07-22 15:19:211638Durchsuche

Java ist eine Programmiersprache, die von Programmierern und Entwicklern verwendet wird. Viele Anfänger stehen vor einer einfachen Frage: Wie legt man bei der Entwicklung mit Java Zufallszahlen fest? Wie legt man Zufallszahlen in Java fest? Es gibt oft Orte, an denen Zufallszahlen verwendet werden müssen. Keine Sorge, schauen wir uns das ausführliche Tutorial zum Festlegen von Zufallszahlen in Java an.

Wie stelle ich Zufallszahlen in Ava ein?

1. In j2se können wir die Methode Math.random() verwenden, um eine Zufallszahl zwischen 0 und 1 zu generieren Wenn Sie beispielsweise mit 100 multiplizieren, ist es innerhalb von 100 zufällig, was in j2me nicht verfügbar ist.

2. Das java.util-Paket bietet eine Random-Klasse. Wir können ein neues Random-Objekt erstellen, das zufällige Ganzzahlen, zufällige Gleitkommazahlen und zufällige Long-Zahlen generieren kann Eine Methode zum Erhalten von Zufallszahlen, die wir häufig in J2ME-Programmen verwenden.

3. Es gibt eine currentTimeMillis()-Methode in unserer Systemklasse. Diese Methode gibt die Anzahl der Millisekunden vom 1. Januar 1970 bis heute zurück. Der Rückgabetyp ist long Verwenden Sie es als Zufallszahl, wir können es verwenden, um einige Zahlen zu modulieren, und wir können es auf einen Bereich beschränken

Tatsächlich wird die dritte Methode oben auch in der Standardkonstruktionsmethode der Zufallsmethode verwendet Zufallszahlen generieren

Es gibt folgende Anweisungen für die Random-Klasse in Methode 2:

Es gibt zwei Möglichkeiten, die java.util.Random-Klasse zu erstellen: mit Seeds und ohne Seeds

Ohne Seeds:

Diese Methode gibt Zufallszahlen zurück und die Ergebnisse sind bei jeder Ausführung unterschiedlich

public class RandomTest {

public static void main( String[] args) {

java.util.Random r=new java.util.Random();

for(int i=0;i<10;i++){

System.out.println(r.nextInt());

}

}

Mit Seeds:

Diese Art Methode, Egal wie oft das Programm ausgeführt wird, das Rückgabeergebnis ist dasselbe

public static void main(String[] args) {

java.util.Random r=new java.util .Random (10);

 for(int i=0;i<10;i++){

 System.out.println(r.nextInt());

 }

 }

Der Unterschied zwischen den beiden Methoden ist

(1) Öffnen Sie zuerst das Java-Dokument. Wir sehen die Beschreibung der Random-Klasse:

Diese Instanzen dieser Klasse werden verwendet, um einen Strom von Pseudozufallszahlen zu generieren. Diese Klasse verwendet einen 48-Bit-Seed, der mithilfe der linearen Kongruenzformel geändert werden kann (siehe The Art of Computer Programming, Band 2, von Donald Knuth). , Seite 3.2 .1 Abschnitt).

Wenn Sie zwei Zufallsinstanzen mit demselben Startwert erstellen und für jede Instanz dieselbe Reihenfolge von Methodenaufrufen durchführen, generieren sie dieselbe Zahlenfolge und geben diese zurück. Um die Realisierung dieser Funktion sicherzustellen, geben wir einen spezifischen Algorithmus für die Random-Klasse an. Für eine vollständige Portabilität des Java-Codes müssen Java-Implementierungen dafür sorgen, dass die Klasse Random alle hier gezeigten Algorithmen verwendet. Unterklassen der Random-Klasse dürfen jedoch andere Algorithmen verwenden, sofern sie dem allgemeinen Vertrag für alle Methoden entsprechen.

Das Java Doc hat die Random-Klasse sehr klar erklärt, und unsere Tests haben dies auch bestätigt.

 (2) Wenn keine Startnummer angegeben wird, ist die Startnummer der Zufallsinstanz die Anzahl der Millisekunden der aktuellen Zeit. Die Anzahl der Millisekunden der aktuellen Zeit kann über System.currentTimeMillis( ermittelt werden. ). Wenn wir den Quellcode des JDK öffnen, können wir dies sehr deutlich sehen.

/**

  * Erstellt einen neuen Zufallszahlengenerator. Sein Startwert wird auf

  * einen Wert basierend auf der aktuellen Zeit initialisiert:

  * Random() { this(System.currentTimeMillis()); }java.lang.System#currentTimeMillis()

  */

public Random() { this(System.currentTimeMillis()); }

Zusätzlich:

random Beschreibung der Methoden nextInt(), nextInt(int n) von Objekten:

int nextInt()

Gibt die nächste Pseudozufallszahl zurück, die in der Folge dieses Zufalls gleichmäßig verteilt ist Zahlengenerator int-Wert.

int nextInt(int n)

Gibt eine Pseudozufallszahl aus der Folge dieses Zufallszahlengenerators zwischen 0 (einschließlich) und dem angegebenen Wert (ausschließlich) gleichmäßig verteilter int-Werte zurück.

Das obige ist der detaillierte Inhalt vonSo legen Sie Zufallszahlen in Java fest. 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
Vorheriger Artikel:GUI-Programmierung in JavaNächster Artikel:GUI-Programmierung in Java