Generovanie náhodných čísel v rozsahu v prostredí Java

1. Prehľad

V tejto príručke preskúmame rôzne spôsoby generovania náhodných čísel v určitom rozsahu.

2. Generovanie náhodných čísel v rozsahu

2.1. Matematika. Náhoda

The Matematika. Náhoda dáva náhodný dvojitý hodnota, ktorá je väčšia alebo rovná 0,0 a menšia ako 1,0.

Použime Matematika. Náhoda metóda na generovanie náhodného čísla v danom rozsahu:

public int getRandomNumber (int min, int max) {return (int) ((Math.random () * (max - min)) + min); }

Prečo to funguje? Pozrime sa teda, čo sa stane, keď Matematika. Náhoda vráti 0,0, je to najnižší možný výstup:

0,0 * (max - min) + min => min

Najnižšie číslo, ktoré môžeme získať, je min.

Ak Matematika. Náhoda vráti 1,0, je to najvyšší možný výstup, potom dostaneme:

1,0 * (max - min) + min => max - min + min => max

Takže najvyššie číslo, ktoré môžeme získať, je max.

Pozrime sa na ten istý vzor, ​​ktorý sa opakuje s Náhodné # nextInt v ďalšej časti.

2.2. java.util.Random.nextInt

Prípad z java.util.Random možno tiež použiť na to isté.

Využime java.util.Random.nextInt metóda na získanie náhodného čísla:

public int getRandomNumberUsingNextInt (int min, int max) {Random random = new Random (); návrat random.nextInt (max - min) + min; }

The min parameter (pôvod) je inkluzívny, zatiaľ čo parameter max, viazaný, je exkluzívny

2.3. java.util.Random.ints

The java.util.Random.ints metóda vracia IntStream náhodných celých čísel.

Môžeme teda využiť java.util.Random.ints metóda a vráti náhodné číslo:

public int getRandomNumberUsingInts (int min, int max) {Random random = new Random (); vrátiť random.ints (min, max) .findFirst () .getAsInt (); }

Aj tu je uvedený pôvod min je inkluzívny a max je exkluzívny.

3. Záver

V tomto článku sme videli alternatívne spôsoby generovania náhodných čísel v určitom rozsahu.

Útržky kódu, ako vždy, nájdete na GitHub.


$config[zx-auto] not found$config[zx-overlay] not found