Inhaltsverzeichnis
Zufallszahlengeneratorfunktionen in Java
1. Math.random() Methode
Beispiel
2. java.util.Random Class
3. ThreadLocalRandom-Klasse
Generierung von Ganzzahlen
Gleitkommazahlen generieren
Fazit – Zufallszahlengenerator in Java
Heim Java javaLernprogramm Zufallszahlengenerator in Java

Zufallszahlengenerator in Java

Aug 30, 2024 pm 04:27 PM
java

Zufallszahlen werden häufig bei der Erstellung von Anwendungen wie Würfeln für ein Brettspiel, einem Glücksspielprogramm usw. verwendet. Normalerweise nimmt die Generierung von Zufallszahlen viel Zeit in Anspruch. In der Programmiersprache Java kann dies jedoch auf drei Arten erreicht werden. Sie werden im folgenden Abschnitt „Zufallszahlengeneratorfunktionen in Java“ behandelt.

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Zufallszahlengeneratorfunktionen in Java

In Java können Zufallszahlen auf drei Arten generiert werden:

  • Math.random-Methode
  • java.util.Random class
  • ThreadLocalRandom Klasse

1. Math.random() Methode

Die Java Math-Klasse bietet eine Reihe von Methoden für die Arbeit an Berechnungen wie Logarithmen, Durchschnitt, Potenzierung usw. random() ist eine der Methoden unter ihnen, die einen positiven Double-Wert im Bereich von 0,0 und 1,0 zurückgibt, wobei 0,0 ist inklusive und 1.0 ist exklusiv. Diese Methode kann mit oder ohne Verwendung von Parametern verwendet werden. Wenn Parameter angegeben werden, liegt die generierte Zufallszahl innerhalb des angegebenen Parameterbereichs.

Beispiel #1

Code:

public class RandomNumber {
double num; //Declare a variable num
//Method which generates a random number
public double randnum()
{
num=Math.random();
return num;
}
// Main Method of a program
public static void main(String[] args) {
//Printing a random number
System.out.println("Random Number generated inside main method: "+Math.random());
//Create an object of the class RandomNumber
RandomNumber randomobj=new RandomNumber();
//Store the return value obtained from randnum method in a variable randomval
double randomval=randomobj.randnum();
//Printing the random number stored in variable randomval
System.out.println("Random Number generated inside randomnumber method: "+randomval);
}
}

Ausgabe:

Zufallszahlengenerator in Java

Im obigen Beispiel wird eine Zufallszahl mithilfe der Math.random()-Methode auf zwei Arten generiert: Direkte Anwendung innerhalb der Hauptmethode und Aufrufen einer Methode, die Math.random() mithilfe des Objekts enthält.  Wie in der obigen Erklärung erwähnt, können wir sehen, dass zwei Zufallszahlen im Bereich von 0,0 und 1,0 generiert werden.

Um eine Zufallszahl innerhalb des Parameterbereichs zu generieren, wird unten der allgemeine Ausdruck verwendet:

Math.random()*  (( maxvalue – minvalue ) +1 ) + minvalue

Beispiel #2

Wobei der Maximalwert die Obergrenze des Bereichs und der Minimalwert die Untergrenze des Bereichs ist. Um beispielsweise eine Zufallszahl zwischen 10 und 20 zu generieren, legen Sie den Maximalwert auf 20 und den Minimalwert auf 10 fest.

Code:

public class RandomNumParameters {
public double randomnum(double x,double y)//max value-y, min value-x
{
double z =(Math.random()*((y-x)+1)+x); //Formula for random number generation within a range
return z;
}
public static void main(String[] args)
{
RandomNumParameters ran=new RandomNumParameters(); //Create instance for the class RandomNumParameters
double num=ran.randomnum(3.0, 10.0); //Call the Method
System.out.println("Random number generated within the range of 3 and 10: "+num );
} }

Ausgabe:

Zufallszahlengenerator in Java

2. java.util.Random Class

Die Klasse Java.util.random generiert Zufallszahlen verschiedener Datentypen wie Float, Long, Integer, Double, Boolean usw. Es ist auch möglich, den Zahlenbereich als Argumente zu übergeben, um eine Zufallszahl innerhalb dieses Bereichs zu generieren . Um diese Klasse verwenden zu können, muss die Random-Klasse von java.util importiert werden (java.util.Random). Sobald diese Klasse importiert ist, erstellen Sie eine Instanz und rufen Sie die Methoden wie next long(), nextInt() usw. mit dieser Instanz auf.

Beispiel

Code:

//Java program to generate Random numbers using Random class
package Sample;
import java.util.Random; //import Random Class
public class RandomNum {
public static void main(String[] args) {
Random rand=new Random(); //Create instance of Random class
double randomnum=rand.nextDouble(); //Assign the Random Double value in randomnum variable
System.out.println("Random Double value: "+ randomnum);
}
}

Ausgabe:

Zufallszahlengenerator in Java

Im obigen Programm wird mit der Methode nextDouble() ein zufälliger Double-Wert generiert.

3. ThreadLocalRandom-Klasse

Die ThreadLocalRandom-Klasse ist ein spezieller Typ der Random-Klasse, der in Java Version 1.7 eingeführt wird. ThreadLocalRandom.current().nextInt() ist eine der häufigsten Methoden, die zum Generieren von Zufallszahlen verwendet werden. Es wird normalerweise in Multithread-Anwendungen verwendet.

Beispiel

Code:

//Java Program to generate random numbers using ThreadLocalRandom Class
import java.util.concurrent.ThreadLocalRandom;
public class RandomNumThread {
public static void main(String[] args) {
//print a random double
System.out.println("Random Double value using ThreadLocalRandom: "+ThreadLocalRandom.current().nextDouble());
}
}

Ausgabe:

Zufallszahlengenerator in Java

Generierung von Ganzzahlen

Zufällige Ganzzahlen können mit der ThreadLocalRandom-Klasse und der Random-Klasse generiert werden. In beiden Fällen wird eine Methode nextInt() für dasselbe verwendet:

Beispiel

Code:

//Java program to generate Random integer numbers using Random and THreadLocalRandom Class
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
public class RandomInteger {
public static void main(String[] args) {
Random rnd=new Random(); //Create instance of Random class
int randomnum1=rnd.nextInt(); //Random Integer value using Random Class
int randomnum2=rnd.nextInt(30); //Random Integer value within the range of 30
int randomnum3= ThreadLocalRandom.current().nextInt(); //Random Integer value using ThreadLocalRandom Class
System.out.println("Random Integer value using Random Class: "+ randomnum1);
System.out.println("Random Integer value within the range of 30: "+ randomnum2);
System.out.println("Random Integer value using ThreadLocalRandom Class: "+ randomnum3);
}
}

Ausgabe:

Zufallszahlengenerator in Java

Im obigen Beispiel werden drei Zahlen vom Typ „Zufällige Ganzzahl“ generiert, wobei eine der nextInt()-Methoden 30 als Argument hat. Beim Generieren einer Zufallszahl wird also 30 als Obergrenze und Null (Standarduntergrenze) als Untergrenze festgelegt.

Gleitkommazahlen generieren

Ähnlich wie bei der Generierung von Ganzzahlen können Gleitkommazahlen mit der Methode nextFloat() generiert werden. Diese Methode kann sowohl in der Random Class als auch in der ThreadLocalRandom Class:

verwendet werden

Beispiel

Code:

//Java program to generate Random Float numbers using Random and THreadLocalRandom Class
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
public class RandomFloat {
public static void main(String[] args) {
Random rnd=new Random(); //Create instance of Random class
float randomnum1=rnd.nextFloat(); //Random Float value using Random Class
float randomnum2= ThreadLocalRandom.current().nextFloat(); //Random Float value using ThreadLocalRandom Class
System.out.println("Random float value using Random Class: "+ randomnum1);
System.out.println("Random float value using ThreadLocalRandom Class: "+ randomnum2);
}
}

Ausgabe:

Zufallszahlengenerator in Java

Fazit – Zufallszahlengenerator in Java

Java enthält eine Fülle von Funktionen, die in Programmen verwendet werden können. Dies trägt dazu bei, die Verarbeitungszeit und Codezeilen zu reduzieren. Die Zufallszahlengenerierung ist eine Aufgabe, bei der wir einige dieser Funktionen verwenden können. Dieses Dokument behandelt die verschiedenen Methoden, um dies zu erreichen.

Das obige ist der detaillierte Inhalt vonZufallszahlengenerator 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.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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)

Heiße Themen

PHP-Tutorial
1587
276
PHPMYADMIN -Sicherheits -Best Practices PHPMYADMIN -Sicherheits -Best Practices Aug 17, 2025 am 01:56 AM

Um PhpMyAdmin effektiv zu schützen, müssen mehrere Sicherheitsmaßnahmen ergriffen werden. 1. Beschränken Sie den Zugriff über IP, nur vertrauenswürdige IP -Verbindungen sind zulässig. 2. Ändern Sie den Standard -URL -Pfad zu einem Namen, der nicht leicht erraten ist. 3. Verwenden Sie starke Passwörter und erstellen Sie einen dedizierten MySQL-Benutzer mit minimierten Berechtigungen. Es wird empfohlen, die Zwei-Faktor-Authentifizierung zu aktivieren. V. 5. Stärken Sie den Webserver und die PHP -Konfiguration, deaktivieren Sie gefährliche Funktionen und begrenzen Sie die Dateiausführung. 6. HTTPS zum Verschlüsseln der Kommunikation erzwingen, um Anmeldeinformationen zu verhindern; 7. Deaktivieren Sie PhpMyAdmin, wenn Sie nicht verwendet werden, oder erhöhen Sie die HTTP -Grundauthentifizierung; 8. Überwachen Sie regelmäßig Protokolle und konfigurieren Sie Fail2ban, um sich gegen Brute Force Cracking zu verteidigen. 9. Setup löschen und

Sie verwenden derzeit keine an eine NVIDIA GPU angehängte Anzeige [behoben]. Sie verwenden derzeit keine an eine NVIDIA GPU angehängte Anzeige [behoben]. Aug 19, 2025 am 12:12 AM

Ifyousee "youarenotusingAdisplayAttachedToannvidiagpu", sorgthyourMonitorisconnectedTotenvidiagpuport, configuredisplaysetingsinnvidiaControlpanel, aktualisiertesRiversusingdduandcleanInstall und SetthePrimarygputodiscretetIniNBiScreteInbios/uefi.restartafartafartafarfArtartafarfaTafarygputodiscreteInbios/uefi

Verwenden von XSLT -Parametern, um dynamische Transformationen zu erstellen Verwenden von XSLT -Parametern, um dynamische Transformationen zu erstellen Aug 17, 2025 am 09:16 AM

XSLT -Parameter sind ein Schlüsselmechanismus für die dynamische Konvertierung durch externe Übergabewerte. 1. Verwenden Sie deklarierte Parameter und setzen Sie Standardwerte. 2. Übergreifende Wert des tatsächlichen Wertes aus dem Anwendungscode (z. B. C#) über Schnittstellen wie XSltargumentList; 3.. Steuerungsbedingte Verarbeitung, Lokalisierung, Datenfilterung oder Ausgabeformat durch $ ParamName -Referenzparameter in der Vorlage; 4. Best Practices umfassen die Verwendung sinnvoller Namen, die Bereitstellung von Standardwerten, die Gruppierung zugehörigen Parametern und das Überprüfen der Werte. Die rationale Verwendung von Parametern kann XSLT -Style -Blätter hoch wiederverwendbar und wartbar machen, und die gleichen Stilblätter können diversifizierte Ausgabeergebnisse basierend auf unterschiedlichen Eingaben erzielen.

Wie benutze ich in Java optional? Wie benutze ich in Java optional? Aug 22, 2025 am 10:27 AM

Useoptional.empty (), optional.of (), andoptional.ofnulle () tocreateoptionalinStancesDendonwhenthevalueisabsinent, nicht null, orpossiblesiblesible.2.CheckForvaluessafelyusingiSent () -Preferactifrisiflyteflythithortefleftwishthorteflecthors.

Betriebssystem nicht gefunden [behoben] Betriebssystem nicht gefunden [behoben] Aug 17, 2025 am 09:10 AM

IfyourComputershows "operatingsSystemnotfound", trythessteps: 1. Checkbios/uefiboootorder.2.VerifyDiskConnection.3.RepairbootoLaDerusingWindowsRecovery.4.ReassignDrivelTterviadsiskmanagement

Was ist ein Deadlock in Java und wie können Sie ihn verhindern? Was ist ein Deadlock in Java und wie können Sie ihn verhindern? Aug 23, 2025 pm 12:55 PM

AdeadlockinjavaoccurswhentwoOmorethreadsareblockedforever, jeder waitingForAresourceheldyTheOther, typischerweiseDuetoccircularWait -byConsistentLockorder;

PS Oil Lackfilter fixe ausgegraut PS Oil Lackfilter fixe ausgegraut Aug 18, 2025 am 01:25 AM

Die OilpaintFilterinphotoshopisgreyedoutusualBecauseOfincompatibledoCumentModeOrlayerType; sicherstellen, dass Photoshopcs6orlaterinThefulldesktopversion, bestätigte Heimaagesisin8-BitperchannelandrgbcolorModyChekingimage> -SmakaSure-Bitperchannel-Asse-BaSure-AssiePixel-Basis-Assire-Assireapixel-Assire-Assie-Assireapixel-Basis-Assire-Assireapixel-Basis-Assire-Bit-Lace-Assire-Assie-Assie-Bit-Leer-Modus, und der MakaSurapixel-Asse-Bitperchannel-Asse-Assiepixel-Assire-Assireapixel-Basis

Erforschung gemeinsamer Java -Designmuster mit Beispielen Erforschung gemeinsamer Java -Designmuster mit Beispielen Aug 17, 2025 am 11:54 AM

Das Java -Entwurfsmuster ist eine wiederverwendbare Lösung für allgemeine Softwaredesignprobleme. 1. Der Singleton -Modus stellt sicher, dass es nur eine Instanz einer Klasse gibt, die für die Datenbankverbindung oder Konfigurationsverwaltung geeignet ist. 2. Die Werksmodus entkoppelt die Objekterstellung, und Objekte wie Zahlungsmethoden werden über Fabrikklassen generiert. 3. Der Beobachtermodus benachrichtigt automatisch abhängige Objekte, die für ereignisgesteuerte Systeme wie Wetteraktualisierungen geeignet sind. 4. Der dynamische Schaltalgorithmus des Strategiemodus wie Sortierstrategien verbessert die Code -Flexibilität. Diese Muster verbessern die Code -Wartbarkeit und die Skalierbarkeit, sollten jedoch Überbeanspruchung vermeiden.

See all articles