Generation a véletlen szám egy előre meghatározott tartományban

Generation a véletlen szám egy előre meghatározott tartományban

Szia, a másik oldalon a képernyő.

Mindannyiunknak előbb-utóbb találkozik annak szükségességét, hogy generál egy véletlen számot egy előre meghatározott tartományban érintkezés legyen az valós vagy egész.







Mert mi van? Tény, hogy ez nem fontos, lehet, hogy egy függvény kiszámítására a futásra néhány esemény kap egy random szorzó, vagy bármilyen más.

Tehát, amit meg kell érteni, hogy az, amit akarsz :)

Tény, hogy a módszerek megszerzésének véletlen számok nagyon, adok egy példát a Math osztály. azaz véletlenszerű () módszer;

Mi van még?
Calling Math.random () értéke egy pszeudo-véletlen valós számot (dupla) a [0; 1). azaz, 0-1 exkluzív 1, ami azt jelenti, a maximális szám a tartomány ,99999999999.

Nos, van egy véletlen számot, de ha szükségünk van a tartományban?
Például, szükségünk van egy véletlen számot az a [0, 100)?

Kiderült, hogy nem rossz, de a max (a mi esetünkben), akkor még mindig nem értem.






Annak érdekében, hogy egy véletlen számot a [0, 100], mi kell hozzá, hogy a max 1, majd átalakítani egy egész int vagy hosszú (függ a tartomány fogja használni).


Megjegyzés: Mint látható a változó már növekszik max prefix formában. (Ha nem tudja, mit javasoljuk, hogy olvasta a cikket)

Ok, megvan, amit akartunk, de ha szükség van egy sor 0 nem, például [10, 75]


Elemzés a kódot a módszer RND:
A minimális számú tartomány = 10;
A maximális szám tartomány = 75;
max - = perc; // levonjuk a maximális értéket, így minimális tényezője ál valós szám.
A maximális számát a számítás elvégzése után egyenlő 65

A pszeudo-véletlen valós számot (például) a ,18283417347179454 (hívás érkezett Math .random ())
A maximális számot eggyel előtt megszorozzuk prefix formában.
A maximális szám most 66

Szorozzuk 0,18283417347179454 66
A szorzás eredményeként 12,06705544913844
Mi átalakítani a szorzás eredménye, hogy a maximális számú pszeudo-véletlen valós számot egésszé int típusú
Adjuk hozzá a minimális számot a konvertált eredmény, amely egyenlő 12
Visszaadja az eredményt: 22

Mint látható az elemzés, akkor is, ha az ál-véletlen valós szám nulla, akkor mi visszatérítjük a legkevésbé eredményeként hozzáadásával a minimális szám a szorzás eredményéhez.

Remélem, ez volt hasznos és informatív az Ön számára.

A siker a fejlesztés Java;)




Kapcsolódó cikkek