Heim > Java > javaLernprogramm > Wie generiert man in Java zufällige Ganzzahlen (und Doppelzahlen) innerhalb eines bestimmten Bereichs?

Wie generiert man in Java zufällige Ganzzahlen (und Doppelzahlen) innerhalb eines bestimmten Bereichs?

Linda Hamilton
Freigeben: 2024-12-04 19:53:11
Original
410 Leute haben es durchsucht

How to Generate Random Integers (and Doubles) Within a Specific Range in Java?

Math.random()-Manipulation: Generieren zufälliger Ganzzahlen innerhalb eines angegebenen Bereichs

Die Java-Funktion Math.random() generiert Zufallszahlen innerhalb eines bestimmten Bereichs der Bereich [0, 1). Es gibt jedoch Situationen, in denen Sie möglicherweise zufällige Ganzzahlen innerhalb eines bestimmten Bereichs erhalten müssen. Dieser Artikel zeigt, wie man dies mit Math.random() erreicht.

Absicht, eine zufällige ganze Zahl zwischen drei und fünf zu generieren

Während die Anweisung „(int) Math .random() * 5 3" generiert zufällige Ganzzahlen im Bereich [3, 5] nicht korrekt. Dies kann mithilfe einer benutzerdefinierten Funktion korrigiert werden Methode:

int randomWithRange(int min, int max) {
    int range = (max - min) + 1;
    return (int) (Math.random() * range) + min;
}
Nach dem Login kopieren

Diese Methode berechnet den Bereich möglicher Werte, multipliziert ihn mit Math.random() und fügt den Mindestwert hinzu, um die Inklusivität sicherzustellen.

Ausgabebeispiel

System.out.println(randomWithRange(3, 5));
// Output: 3
Nach dem Login kopieren

Idiotensicher für Unrichtigkeiten Bestellen

Um Fehler zu vermeiden, wenn min größer als max ist, lautet eine aktualisierte Methode:

int randomWithRange(int min, int max) {
    int range = Math.abs(max - min) + 1;
    return (int) (Math.random() * range) + (min <= max ? min : max);
}
Nach dem Login kopieren

Erweiterungen für die doppelte Zufallszahlengenerierung

Eine ähnliche Methode kann verwendet werden, um zufällige Zahlen mit doppelter Genauigkeit zu generieren:

double randomWithRange(double min, double max) {
    double range = (max - min);
    return (Math.random() * range) + min;
}
Nach dem Login kopieren

Mit dieser Methode Methode:

System.out.println(randomWithRange(3.0, 5.0));
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie generiert man in Java zufällige Ganzzahlen (und Doppelzahlen) innerhalb eines bestimmten Bereichs?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage