| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> Java programmering >> Content
    Hvordan til at generere tilfældige tal uden repetition i Java
    Java-sproget indeholder hjælpeprogrammer til at generere tilfældige tal i dine programmer. Hvis du ønsker at generere en række tilfældige tal , men ønsker ikke nogen af ​​dem , der skal gentages , skal du bruge betingede tests og loops . Ved at tilføje hvert nummer, du genererer til et sæt indsamlingen objekt, kan du fortælle det samme , om nogen af ​​dem er dubletter. Hvis nummeret er en dublet , kan du instruere Java til at fortsætte generere nye numre , indtil den finder en du ikke allerede har føjet til sættet. Processen involverer to løkker og en betinget erklæring . Instruktioner
    1

    Importer Java utilities er nødvendige for dit tilfældige tal generation og sæt objekt. Føj følgende kode i toppen af ​​din klasse erklæring: import java.util * ;

    Opret et sæt objekt til at gemme de numre, du genererer : . TreeSet myNumbers = new TreeSet ();

    Opret en instans af tilfældige klassen til at generere dine tilfældige tal : Random randGen = new Random ();
    2

    Opret en løkke til at generere din tilfældige tal. Det følgende for-løkke vil køre 20 gange : for ( int i = 0; i < 20, i + + ) {//tal generation her }

    Inde i denne løkke , kan du tilføje behandlingen til at generere og tjekke din tilfældige numre for dubletter . Alter tallet 20 for at afspejle det samlede antal tilfældige værdier , du ønsker dit program til at generere . Inde i løkken , generere et tilfældigt heltal : int randNum = randGen.nextInt ();

    Dette vil udføre hver gang løkken gentages
    3

    Tilføj et anden sløjfe . til at klare dubletter numre. Føj følgende kode inde i dit første loop efter det antal generation linje: for (; ;) { //deal med dubletter }
    p Dette er en uendelig løkke , så det vil udføre en uendelighed , indtil koden eksplicit bryder ud af det . Inde i denne løkke , kan du instruere Java til at fortsætte generere tilfældige tal, indtil det genererer en, som du ikke allerede har brugt.
    4

    Tilføj en betinget test på hver tilfældige tal . Indsæt følgende kode i din uendelig løkke : if ( myNumbers.add ( randNum ) ) break; ellers randNum = randGen.nextInt ();

    Når du prøver at føje et element til et sæt , metoden returnerer true eller falsk . Hvis elementet ikke allerede er i sættet , returnerer sandt , i hvilket tilfælde din kode kan bryde ud af løkken . Hvis elementet er allerede i sættet , metoden returnerer falsk, i hvilket tilfælde du kan instruere Java til at vælge et andet tilfældigt tal . Sløjfen derefter udføre igen , teste den nye værdi for at se om det er et duplikat . Denne proces fortsætter, indtil en ny værdi er fundet.
    5.

    Test din kode. Tilføj følgende linie efter din uendelig løkke , men stadig indenfor det ydre loop : System.out.println ( randNum )

    Dette vil lade dig se et overblik , at dine tal er alle unikke . Gem filen, kompilere dit program og køre for at teste det . Gennemse output til at kontrollere , at dine funktioner virker .

    Forrige :

    næste :
      Relaterede artikler
    ·Sådan oprettes en dato fra en streng i Java 
    ·Sådan Læs Java Input 
    ·The Best AJAX ramme for Java 
    ·Kvaliteter af en god Java-udvikler til Trading Systems 
    ·Sådan Konverter Meter til tå i Java 
    ·Sådan center en JPanel på toppen af ​​en JFrame 
    ·Forskelle mellem grænseflader og abstracts i Java 
    ·String til Double Conversion i Java 
    ·Sådan får du adgang vinduer indskrive fra Java 
    ·Hvordan man laver en Basic Timer i Java 
      Anbefalede Artikler
    ·Sådan geninstalleres Rtl100.Bpl 
    ·Sådan får du adgang en eksplodere Array på PHP 
    ·Sådan oprettes en flad fil 
    ·Sådan pakkes attributter med Python 
    ·Hvad er Data Persistens 
    ·Sådan kører Python 
    ·Hvordan man skriver en liste i Python 
    ·Sådan bruges CFC i ColdFusion 
    ·Sådan oprettes en Web Service Brug akse 
    ·Sådan får du en enkelt tegn fra tastaturet Brug Assem…
    Copyright © Computer Viden http://www.computerdk.com