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.