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.