Véletlen számok generálása tartományban Java-ban
1. Áttekintés
Ebben az oktatóanyagban megvizsgáljuk a tartományon belüli véletlenszámok előállításának különböző módjait.
2. Véletlen számok generálása tartományban
2.1. Math.random
A Math.random véletlenszerűt ad kettős értéke nagyobb vagy egyenlő 0,0 és kisebb, mint 1,0.
Használjuk a Math.random módszer véletlenszám előállítására egy adott tartományban:
public int getRandomNumber (int min, int max) {return (int) ((Math.random () * (max - min)) + min); }
Miért működik ez? Nos, nézzük meg, mi történik mikor Math.random 0.0-t ad vissza, ez a lehető legkisebb kimenet:
0,0 * (max - min) + min => min
Tehát a legalacsonyabb szám, amit kaphatunk min.
Ha Math.random 1,0-t ad vissza, ez a lehető legmagasabb kimenet, akkor kapjuk:
1,0 * (max - min) + min => max - min + min => max
Tehát a legnagyobb szám, amit kaphatunk max.
Lássuk ugyanezt a mintát megismételni Véletlenszerű # nextInt a következő részben.
2.2. java.util.Random.nextInt
Példája java.util.Random felhasználható ugyanarra.
Használjuk ki a java.util.Random.nextInt módszer véletlenszám megszerzéséhez:
public int getRandomNumberUsingNextInt (int min, int max) {Random random = new Random (); return random.nextInt (max - min) + min; }
A min paraméter (az origó) inkluzív, míg az max, a kötött, kizárólagos
2.3. java.util.Random.ints
A java.util.Random.ints metódus egy IntStream véletlenszerű egész szám.
Tehát felhasználhatjuk a java.util.Random.ints módszer és adjon vissza egy véletlen számot:
public int getRandomNumberUsingInts (int min, int max) {Random random = new Random (); return random.ints (min, max) .findFirst () .getAsInt (); }
Itt is a megadott eredet min befogadó és max kizárólagos.
3. Következtetés
Ebben a cikkben alternatív módon láthattunk véletlenszámokat egy tartományon belül.
A kódrészletek, mint mindig, a GitHubon találhatók.