Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Java Tutorial na náhodné metódy

Náhodne generované čísla majú mnoho využitie v počítačových programoch , ako je napríklad vytváranie nepredvídateľnosť hry , modelovanie simulácie a prevedením šifrovanie . Java poskytuje dve techniky pre generovanie náhodných čísel . Knižnica Math ponúka jednoduché , ale pohodlné , náhodné metódu pre generovanie náhodné desatinné číslo medzi 0 a 1,0 . Náhodný trieda poskytuje viac flexibilné možnosti generujúce náhodné číslo .
náhodné čísla generátory sa používajú v programovacích hazardných hier .
Základy

generátor náhodných čísel je rutinná navrhnutá tak , aby číselnú hodnotu , ktorá sa zobrazí na vybraný náhodou . V Jave , rovnako ako u všetkých programovacích jazykov , hodnoty generované Math.random ( ) a Náhodný trieda sa objaví náhodne , ale v skutočnosti nie sú . Preto tieto metódy sú povedal , aby vytvárať pseudo - náhodných čísel
Nehnuteľnosť

Pseudo - generátory náhodných čísel majú dve základné vlastnosti : . Distribúcia a semená < . br >

" distribúcia " sa vzťahuje k frekvencii , v ktorej sa objaví každá hodnota v sérii generovaných čísel . Väčšina náhodných metód Java produkujú rovnomerné rozloženie čísel , čo znamená , nikto sa hodnota objavia častejšie ako akékoľvek iné . Random trieda má metódu , nextGaussian , ktorý generuje čísla, ktoré nasledujú Gaussian ( tiež " normálne " alebo " krivka zvončeka " ) distribúcia .

" Semeno " je číslo používané k inicializácii pseudonahodne číslo generátor . Vzhľadom k tomu , rovnaké semeno , bude číslo generátor pseudo - náhodných produkovať rovnakú rad čísel pri volaní za použitia rovnakých metód a parametrov . Schopnosť reprodukovať sadu čísel je užitočné pri ladení , testovania a iných scenároch , kde obnovovať beží prostredia aplikácie , je potreba .
Math.random
( )

metóda Math.random ( ) je jednoduchý pseudo - generátor náhodných čísel . Používa sa iba volaním Math.random ( ) . Metóda vráti dvojnásobok medzi 0,0 ( vrátane ) a 1,0 ( exkluzívne ) . Hodnoty produkovanej sledovať rovnomerné rozloženie . Ak je potreba iný rozsah , typ a distribúcia , musí programátor obsadenie výsledky na požadovaný typ a vykonávať ďalšie výpočty pre generovanie požadovaného výsledku .
Random Trieda

Random trieda je pružnejší než Math.random ( ) , ale vyžaduje trochu viac úsilia na použitie. Inštancie triedy Random je konštruovaný . Konštruktor bude trvať dlhé celé číslo ako počiatočnej hodnoty , alebo ak nie je k dispozícii hodnota osiva , použije sa aktuálny čas v milisekundách ako predvolený osivo . Náhodný trieda poskytuje metódu pre stanovenie semeno po dokončení stavby . Existuje niekoľko pseudo - náhodné metódy generovanie čísla v tejto triede , každá s predponou slovom " ďalšie " . Väčšina z týchto metód vráti rovnomerne rozložené hodnoty naprieč rôznymi rozsahy a rôznych typov , ako sú celé čísla s pohyblivou rádovou čiarkou hodnoty a logické hodnoty . NextGaussian metóda vracia Gaussian distribuované zdvojnásobí . Metóda nextInt môže trvať celé číslo parameter , ktorý nastaví horný koniec rozsahu .
Úvahy

Generovanie sadu čísel , ktoré nemožno predvídať , je niekedy žiaduce , aby napríklad , aby sa zabránilo hráča zo budú môcť podvádzať v hrách . Hodnoty pseudo - náhodné vrátenej niekoľko inštancií Random triedy môžu byť kombinované , aby ďalšie náhodnosť vo výslednej sade . Implementácia nonuniform distribúcia môže tiež byť užitočné .

Java generuje pseudo - náhodných čísel , ktoré nasledujú buď uniformu alebo Gaussova rozdelenie . Nehomogénne distribúcie sú užitočné , najmä v simuláciách na napodobňujú scenáre , ktoré zodpovedajú špecifickým distribúciou v realite . Iné distribúcia môže byť dosiahnuté pomocou inverznú funkciu k distribučnej funkcii požadovaného rozdelenia . Táto funkcia má pravdepodobnosť ( hodnoty medzi 0,0 a 1,0 Exclusive ) ako parameter . V nenulovej výsledky oboch Math.random ( ) alebo v jednom z náhodných metód triedy , ktorá sa vracia plávajúce bodovú hodnotu možno použiť na tento parameter . Pozri sekcie Zdroje pre odkaz na Apache matematická knižnica , ktorá poskytuje inverzný metódy pre niekoľko kumulatívnych distribúciách .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené