Wie generiere ich eine zufällige int
Wert in einem bestimmten Bereich?
Ich habe Folgendes versucht, aber das funktioniert nicht:
Versuch 1:
randomNum = minimum + (int)(Math.random() * maximum);
Fehler: randomNum
kann größer sein als maximum
.
Versuch 2:
Random rn = new Random();
int n = maximum - minimum + 1;
int i = rn.nextInt() % n;
randomNum = minimum + i;
Fehler: randomNum
kann kleiner sein als minimum
.
0 Stimmen
Wenn Sie viele Zufallszahlen benötigen, empfehle ich die Klasse Random in der API nicht. Sie hat einfach eine zu kleine Periode. Versuchen Sie die Mersenne-Twister stattdessen. Es gibt eine Java-Implementierung .
46 Stimmen
Bevor Sie eine neue Antwort schreiben, bedenken Sie, dass es bereits mehr als 65 Antworten auf diese Frage gibt. Bitte stellen Sie sicher, dass Ihre Antwort Informationen enthält, die nicht in den vorhandenen Antworten enthalten sind.