Heim Java javaLernprogramm So generieren Sie Zufallszahlen in Java

So generieren Sie Zufallszahlen in Java

Nov 21, 2018 pm 03:10 PM
java Zufallszahl

Wie generiert man Zufallszahlen in Java? In diesem Artikel erfahren Sie, wie Sie Zufallszahlen in Java generieren. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

Java bietet drei Möglichkeiten, Zufallszahlen mithilfe einiger integrierter Methoden und Klassen zu generieren:

1. Java.util.Random-Klasse

2. Zufallsmethode: Kann Zufallszahlen vom Typ Double generieren.

3. ThreadLocalRandom-Klasse

Schauen wir uns an, wie Java die Generierung von Zufallszahlen implementiert.

1. java.util.Random-Klasse

Klassen in der Java-Utility-Klassenbibliothek: java.util.Random bietet Methoden zum Generieren verschiedener Arten von Zufallszahlen.

Um Zufallszahlen mit der Klasse java.util.Random zu generieren, müssen wir zuerst eine Instanz dieser Klasse erstellen und diese Instanz dann verwenden, um Methoden wie nextInt(), nextDouble(), nextLong() usw. aufzurufen .

Wir können die Klasse java.util.Random verwenden, um zufällige Ganzzahlen, Gleitkommazahlen, Zahlen mit doppelter Genauigkeit, lange Ganzzahlen, boolesche Operanden und andere Typen zufällig zu generieren.

Wir können der Methode Parameter übergeben, um eine Obergrenze für den zu generierenden Zahlenbereich festzulegen. nextInt(6) generiert beispielsweise eine Zahl im Bereich von 0 bis einschließlich 5.

// 随机数生成
// 使用java.util.Random; 
import java.util.Random; 

public class generateRandom{ 

	public static void main(String args[]) 
	{ 
		// 创建随机类的实例
		Random rand = new Random(); 

		// 在0到999范围内生成随机整数
		int rand_int1 = rand.nextInt(1000); 
		int rand_int2 = rand.nextInt(1000); 

		// 输出随机整数
		System.out.println("随机整数: "+rand_int1); 
		System.out.println("随机整数: "+rand_int2); 

		// 生成随机双精度数
		double rand_dub1 = rand.nextDouble(); 
		double rand_dub2 = rand.nextDouble(); 

		// 输出随机双精度数
		System.out.println("随机双精度数: "+rand_dub1); 
		System.out.println("随机双精度数: "+rand_dub2); 
	} 
}

Ausgabe ausführen:

So generieren Sie Zufallszahlen in Java

2. Math.random-Methode

Mathe-Klasse enthält Verschiedenes Methoden zur Durchführung verschiedener numerischer Operationen wie Potenzierung, Logarithmus usw. Eine dieser Methoden: random (), kann eine doppelte Zahl mit positivem Vorzeichen zurückgeben. Der Wert ist größer oder gleich 0,0 und kleiner als 1,0, dh der Wertebereich ist das links geschlossene und rechts offene Intervall [0,0, 1,0).

Der von der random()-Methode zurückgegebene Wert wird pseudozufällig ausgewählt und (ungefähr) gleichmäßig im Bereich von [0,0,1,0) verteilt.

Hinweis: Es können nur Zufallszahlen vom doppelten Typ generiert werden.

Im Folgenden stellen wir vor, wie Sie diese Methode verwenden, um Zufallszahlen über Java-Code zu generieren:

// Math.random() 生成随机数
import java.util.*; 

public class generateRandom 
{ 
	public static void main(String args[]) 
	{ 
		// 随机双精度数的生成
		System.out.println("随机双精度数: " + Math.random()); 
		System.out.println("随机双精度数: " + Math.random()); 
	} 
}

Laufergebnisse:

So generieren Sie Zufallszahlen in Java

3. java.util.concurrent.ThreadLocalRandom-Klasse

Die ThreadLocalRandom-Klasse wurde in Java 1.7 eingeführt und kann den Wettbewerb zwischen mehreren Threads lösen. Kann Zufallszahlen vom Typ Ganzzahl, doppelte Genauigkeit, Boolescher Wert und andere Typen generieren.

Die wichtigsten Implementierungsdetails von ThreadLocalRandom:

1), verwenden Sie ein gewöhnliches Long anstelle des AtomicLong in Random als Startwert

2), Sie können keine ThreadLocalRandom-Instanz erstellen Da sein Konstruktor privat ist, können wir seine statische Methode ThreadLocalRandom.current()

3 verwenden. Er ist CPU-Cache-fähig und verwendet 8 lange virtuelle Felder, um die 64-Bit-L1-Hochgeschwindigkeits-Cache-Zeile zu füllen

Im Folgenden stellen wir vor, wie Sie diese Klasse verwenden, um Zufallszahlen durch einfachen Java-Code zu generieren:

// 随机数的产生
// 使用java.util.concurrent.ThreadLocalRandom类
import java.util.concurrent.ThreadLocalRandom; 

public class generateRandom 
{ 
	public static void main(String args[]) 
	{ 
		// 在0到999范围内生成随机整数
		int rand_int1 = ThreadLocalRandom.current().nextInt(); 
		int rand_int2 = ThreadLocalRandom.current().nextInt(); 

		// 输出随机整数
		System.out.println("Random Integers: " + rand_int1); 
		System.out.println("Random Integers: " + rand_int2); 

		// 生成随机双精度数
		double rand_dub1 = ThreadLocalRandom.current().nextDouble(); 
		double rand_dub2 = ThreadLocalRandom.current().nextDouble(); 

		// 输出随机双精度数
		System.out.println("Random Doubles: " + rand_dub1); 
		System.out.println("Random Doubles: " + rand_dub2); 

		// 生成随机布尔值
		boolean rand_bool1 = ThreadLocalRandom.current().nextBoolean(); 
		boolean rand_bool2 = ThreadLocalRandom.current().nextBoolean(); 

		// 输出随机布尔值
		System.out.println("Random Booleans: " + rand_bool1); 
		System.out.println("Random Booleans: " + rand_bool2); 
	} 
}

Ausgabe ausführen:

So generieren Sie Zufallszahlen in Java

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird. Weitere verwandte Video-Tutorials finden Sie unter: Java-Tutorial!

Das obige ist der detaillierte Inhalt vonSo generieren Sie Zufallszahlen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT

Stock Market GPT

KI-gestützte Anlageforschung für intelligentere Entscheidungen

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Lösen gemeinsamer Java -NullPointerexception -Probleme mit optional Lösen gemeinsamer Java -NullPointerexception -Probleme mit optional Aug 31, 2025 am 07:11 AM

Optional ist eine von Java 8 eingeführte Containerklasse. Es wird verwendet, um deutlich anzuzeigen, dass ein Wert leer sein kann, wodurch NullPointerexception vermieden wird. 2. Die verschachtelte Nullüberprüfung durch Bereitstellung von MAP, Orelse und anderen Methoden verhindern, dass Methoden die Null zurückgeben und die Rückgabewerte der Sammlung standardisieren. 3. Die Best Practices umfassen nur Rückgabewerte, die Vermeidung der Verwendung von Feldern oder Parametern, die Unterscheidung von Orelse von Orelseget und nicht direkt aufrufen Get (); 4. Optional sollte nicht missbraucht werden. Wenn nicht leere Methoden nicht verpackt werden müssen, sollten im Stream unnötige optionale Operationen vermieden werden. Die korrekte Verwendung von Optional kann die Sicherheit und die Lesbarkeit der Code erheblich verbessern, erfordert jedoch gute Programmiergewohnheiten.

Bearbeiten Sie Lesezeichen in Chrome Bearbeiten Sie Lesezeichen in Chrome Aug 27, 2025 am 12:03 AM

Das Chrome -Lesezeichen -Bearbeitung ist einfach und praktisch. Benutzer können den Lesezeichen -Manager über die Verknüpfungsschlüsselstasten Strg Shift O (Windows) oder CMD Shift O (MAC) eingeben oder über das Browser -Menü eingeben. 1. Beim Bearbeiten eines einzelnen Lesezeichens klicken Sie mit der rechten Maustaste, um "Bearbeiten" auszuwählen, den Titel oder die URL zu ändern und klicken Sie auf "Finish", um sie zu speichern. 2. Bei der Organisation von Lesezeichen in Stapeln können Sie Strg (oder CMD) an Multiple-Choice-Lesezeichen im Lesezeichen-Manager halten. Klicken Sie mit der rechten Maustaste, um mit "Wechsel zu" oder "Kopieren in" den Zielordner zu wählen. 3. Klicken Sie beim Exportieren und Importieren von Lesezeichen auf die Schaltfläche "Lösen", um das "Lesezeichen exportieren" auszuwählen, um sie als HTML -Datei zu speichern, und stellen Sie diese dann über die Funktion "Lesezeichen importieren" bei Bedarf wieder her.

Geben Sie die Taste ein, die nicht auf meiner Tastatur funktioniert Geben Sie die Taste ein, die nicht auf meiner Tastatur funktioniert Aug 30, 2025 am 08:36 AM

Erstens, checkforphysicalisuikedebriSordamageandCleanTheKeyboardOrtestwithaNexternalone; 2.TesttheenterKeyIntifferentAppStodetermineiftheissoftware-spezifisch; 3.

Was ist ein Speicherleck in Java? Was ist ein Speicherleck in Java? Aug 28, 2025 am 05:37 AM

AmemoryleakinjavaoccurswhenunreantableObjectsarenotgarbagebagEcollectedDuetolingReferences, LeadtoexcessivemoryusAndpotentialofMemoryError

Was sind Wrapper -Klassen und warum werden sie in Java verwendet? Was sind Wrapper -Klassen und warum werden sie in Java verwendet? Sep 01, 2025 am 05:58 AM

WrapperclasseSSesSeSusedToconvertPrimitivedatatypesintoObjects, ermöglicht TheiruseCollections, ermöglicht NullValues, bereitgestellt Metility und SupportingAutoboxing/Unboxing.theyalowPrimitivestobeKollectionsSlikears -Listlist, was die Uhrenliste, die, wie

So finden Sie den MAX- oder MIN -Wert in einem Stream in Java So finden Sie den MAX- oder MIN -Wert in einem Stream in Java Aug 27, 2025 am 04:14 AM

Verwenden Sie die Methoden max () und min (), um den Komparator zu kombinieren, um die maximalen und minimalen Werte im Stream zu finden, z. 2. Verwenden Sie für benutzerdefinierte Objekte vergleiche. 3. Da das Ergebnis optional ist, muss die leere Stream -Situation behandelt werden. Sie können iSPresent () verwenden, um zu überprüfen oder orelse (), um Standardwerte bereitzustellen. Es wird empfohlen, IntStream für Basistypen zu verwenden, um das Boxenaufwand zu vermeiden und die Leistung zu verbessern. Am Ende sollten Sie immer richtig gemacht sein.

CVE-2024-20674 | Windows Kerberos Sicherheitsfunktion umgeht die Sicherheitsanfälligkeit CVE-2024-20674 | Windows Kerberos Sicherheitsfunktion umgeht die Sicherheitsanfälligkeit Sep 02, 2025 pm 05:18 PM

0x00 Vorwort Kerberos wurde von MIT als Lösung für diese Cybersicherheitsprobleme erstellt. Ist eine Client/Server -Architektur, die die Sicherheitsüberprüfungsverarbeitung über das Netzwerk bietet. Durch die Überprüfung kann die Identität des Absenders und des Empfängers von Netzwerktransaktionen sichergestellt werden. Der Dienst kann auch die Gültigkeit (Integrität) der übergebenen Daten überprüfen und die Daten während der Übertragung (Vertraulichkeit) verschlüsseln. 0x01 Schwachstellenbeschreibung Ein Angreifer mit Zugriff auf ein Opfernetzwerk kann diese Sicherheitsanfälligkeit ausnutzen, indem er einen Zwischenangriff (MITM) oder andere lokale Netzwerk -Spoofing -Techniken erstellt und dann eine böswillige Kerberos -Nachricht an den Computer des Client -Opfers sendet und vorgibt, ein Kerberos -Authentifizierungsserver zu sein. 0x02cve

So formatieren Sie Zahlen in Java mit Decimalformat So formatieren Sie Zahlen in Java mit Decimalformat Aug 30, 2025 am 03:09 AM

Verwenden Sie Decimalformat, um die digitalen Formate genau zu steuern. 1. Verwenden Sie Musterzeichenfolgen wie "#, ###. ##" für die grundlegende Formatierung, wobei#eine optionale Zahl darstellt, 0 eine Must-Display-Zahl darstellt, ein Tausend-Trennzeichen ist und ein Dezimalpunkt ist. 2. Gemeinsame Modi umfassen "0,00", um zwei Dezimalstellen zu behalten, "0.000.000", um die Ausrichtung der Null zu ergänzen, usw.; 3. Vermeiden Sie wissenschaftliche Notationsmethoden, Sie können SetScientificNotation (False) oder einen Modus mit ausreichenden Ziffern verwenden. 4.. Sie können den Rundungsmodus durch setRoundingMode () wie half_up, Down usw. einstellen.

See all articles