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.