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

Ako na generovanie náhodných čísel bez Opakovanie v jazyku Java

jazyk Java poskytuje nástroje pre generovanie náhodných čísel v rámci svojich programov . Ak chcete generovať rad náhodných čísel , ale nechcem z nich sa bude opakovať , budete musieť použiť podmienené testami a slučiek . Pridaním každé číslo , ktoré generuje do objektu sada kolekcie , môžete okamžite zistiť , či niektorý z nich sú duplikáty . Ak je číslo duplicitné , môžete inštruovať Java pokračovať vo vytváraní nových čísel , kým nenájde ten ste už pridali do súboru . Tento proces zahŕňa dve slučky a podmieneného príkazu . Pokyny dovolená 1

Import Java nástroje potrebné pre generovanie náhodných čísel a nastavenie objektu . Pridajte nasledujúci kód v hornej časti deklarácie triedy : . Import java.util * ;

vytvoriť sadu objekt pre uloženie čísla , generovať : TreeSet myNumbers = new TreeSet ( ) ;

vytvorenie inštancie náhodného triedy vygenerovať náhodných čísel : Random randGen = new Random ( ) ;
2

Vytvorte slučku generovať svoje náhodných čísel . Nasledujúci cyklus for sa vykoná 20 - krát : for ( int i = 0 ; i < 20 ; i + + ) { //číslo generácie tu }

Vnútri tejto slučky , môžete pridať spracovanie generovať a kontrolovať vaše náhodné čísla pre duplikáty . Zmeňte číslo 20 tak , aby odrážali celkový počet náhodných hodnôt , ktoré chcete váš program pre generovanie . Vnútri slučky , vygeneruje náhodné celé číslo : int randNum = randGen.nextInt ( ) ;

spustí zakaždým , keď sa slučka opakuje
3

Pridajte druhú slučku . vyrovnať sa s duplicitnými číslami . Pridajte nasledujúci kód vnútri svojho prvého cyklu po generácie číslo riadku : for ( ; ;) { //problém s duplikáty }

To je nekonečná slučka , takže sa bude vykonávať do nekonečna , kým kód výslovne vypukne to . Vnútri tejto slučky , môžete inštruovať Java pokračovať v generovaní náhodných čísel , kým sa vytvára ten , ktorý ste sa už používa .
4

Pridať podmienený test na každej náhodné číslo . Vložte nasledujúci kód vnútri nekonečnej slučke : if ( myNumbers.add ( randNum ) ) break ; inak randNum = randGen.nextInt ( ) ;

Pri pokuse o pridanie prvku do súboru , vracia hodnotu true , metóda alebo false . Ak je prvok už nie je v sade , vracia hodnotu true , v tom prípade váš kód môže vymaniť zo slučky . Ak prvok je už v súbore , vráti false metóda , v takom prípade môžete inštruovať Java zvoliť iný náhodné číslo . Slučka potom spustiť znova , testuje novú hodnotu , či sa jedná o duplikát . Tento proces pokračuje , až kým nie je nájdená nová hodnota .
5

Otestujte svoj ​​kód . Pridajte nasledujúci riadok po vašom nekonečnej slučke , ale napriek tomu vo vnútri vonkajšej slučky : System.out.println ( randNum ) ;

To vám umožní vidieť na prvý pohľad , že vaše čísla sú všetky jedinečné . Uložte súbor skompilovať program a spustiť ho vyskúšať . Prejdite si výstup a skontrolujte , či vaše funkcie pracujú .

Najnovšie články

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