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
Linda HamiltonOriginal
2024-12-04 19:53:11412Durchsuche

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;
}

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

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);
}

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;
}

Mit dieser Methode Methode:

System.out.println(randomWithRange(3.0, 5.0));

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!

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