Generiranje slučajnih brojeva u rasponu na Javi
1. Pregled
U ovom uputstvu istražit ćemo različite načine generiranja slučajnih brojeva unutar raspona.
2. Generiranje slučajnih brojeva u rasponu
2.1. Matematika. random
The Matematika. random daje slučajni dvostruko vrijednost koja je veća ili jednaka 0,0 i manja od 1,0.
Iskoristimo Matematika. random metoda za generiranje slučajnog broja u danom rasponu:
javni int getRandomNumber (int min, int max) {return (int) ((Math.random () * (max - min)) + min); }
Zašto to djeluje? Pa, pogledajmo što se događa kad Matematika. random vraća 0.0, to je najniži mogući izlaz:
0,0 * (maks. - min) + min => min
Dakle, najmanji broj koji možemo dobiti je min.
Ako Matematika. random vraća 1.0, to je najveći mogući izlaz, a zatim dobivamo:
1,0 * (max - min) + min => max - min + min => max
Dakle, najveći broj koji možemo dobiti je maks.
Pogledajmo ovaj isti obrazac ponovljen sa Slučajno # nextInt u sljedećem odjeljku.
2.2. java.util.Random.nextInt
Primjer java.util.Slučajno može se koristiti i za isto.
Iskoristimo java.util.Random.nextInt metoda za dobivanje slučajnog broja:
public int getRandomNumberUsingNextInt (int min, int max) {Random random = novo Random (); povratak random.nextInt (max - min) + min; }
The min parametar (ishodište) uključuje, dok je maks, vezana, isključiva je
2.3. java.util.Random.ints
The java.util.Random.ints metoda vraća an IntStream slučajnih cijelih brojeva.
Dakle, možemo koristiti java.util.Random.ints metoda i vratiti slučajni broj:
javni int getRandomNumberUsingInts (int min, int max) {Random random = novi Random (); vratiti random.ints (min, max) .findFirst () .getAsInt (); }
Ovdje je također navedeno podrijetlo min uključuje i maks je ekskluzivan.
3. Zaključak
U ovom smo članku vidjeli alternativne načine generiranja slučajnih brojeva unutar raspona.
Isječci koda, kao i uvijek, mogu se naći na GitHubu.