Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> Java Programming >> Content
    Hvordan å generere tilfeldige tall Uten Repetisjon i Java
    Java språket gir verktøy for å generere tilfeldige tall innenfor programmene dine. Hvis du vil generere en rekke tilfeldige tall , men ønsker ikke noen av dem skal gjentas , må du bruke betingede tester og looper . Ved å legge hvert nummer du genererer til et sett samling objekt, kan du fortelle umiddelbart om noen av dem er duplikater. Hvis nummeret er en kopi , kan du instruere Java å fortsette å generere nye numre til den finner en du ikke allerede har lagt til settet . Prosessen involverer to looper og en betinget uttalelse . Instruksjoner
    en

    Importer Java- verktøy er nødvendig for generering av tilfeldige tall og sett objekt. Legg til følgende kode på toppen av din klasse erklæring : import java.util * ;

    Lag et sett objekt for å lagre numrene du genererer : . TreeSet myNumbers = new TreeSet ();

    opprette en forekomst av den tilfeldige klasse å generere dine tilfeldige tall : Random randGen = new Random ();
    2

    Lag en løkke til å generere tilfeldige tall . Følgende for loop vil utføre 20 ganger : for ( int i = 0 ; i < 20; i + + ) { //antall generasjon her }

    Inne i denne sløyfen , kan du legge til behandling for å generere og sjekke tilfeldig tall for duplikater . Endre nummer 20 for å gjenspeile det totale antallet tilfeldige verdier du vil at programmet skal generere . Inne i loop, generere et tilfeldig heltall: int randNum = randGen.nextInt ();
    p Dette vil utføre hver gang løkken gjentar
    3

    Legg til en ny loop. å takle Duplikatene . Legg til følgende kode i din første bue etter antall generasjon linje : for ( ; ;) { //avtale med duplikater }
    p Dette er en uendelig loop, så det vil utføre uendelige inntil koden eksplisitt bryter ut av det. Inne i denne sløyfen , kan du instruere Java å fortsette å generere tilfeldige tall før det genererer en som du ikke allerede har brukt .
    4

    Legg en betinget test på hver tilfeldig tall. Sett inn følgende kode inni uendelig loop : if ( myNumbers.add ( randNum ) ) break ; annet randNum = randGen.nextInt ();

    Når du prøver å legge til et element i et sett , returnerer metoden true eller falsk . Hvis elementet ikke allerede er i settet , går det sant , og da koden din kan bryte ut av loopen . Hvis elementet er allerede i settet , returnerer metoden falske, og da kan du instruere Java for å velge et annet tilfeldig tall. Sløyfen vil deretter utføre igjen , teste den nye verdien for å se om det er et duplikat. Denne prosessen fortsetter til en ny verdi er funnet.
    5

    Test din kode . Legg til følgende linje etter din uendelig loop, men fortsatt inne i ytterste ledd : System.out.println ( randNum ) ;
    p Dette vil la deg se på et øyeblikk på at tallene er alle unike . Lagre filen, kompilere programmet og kjøre for å teste det. Bla gjennom produksjonen for å kontrollere at funksjoner fungerer.

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan gjøre Tilsetting av variabler i Java 
    ·Hvordan skrive den Buffer Overflow i Java 
    ·Hvordan gjøre Statiske Flyter i Java 
    ·Ulike definisjoner av klassene i Java 
    ·Hvordan endre fokuseringen i Java 
    ·Hvordan finne den duplisert Antall i en matrise i Java 
    ·Hvordan lage en JavaScript-motor 
    ·Hva er Java Metadata 
    ·Slik Clear en JMS Queue 
    ·Definisjon av Garbage Collection i Java 
      Anbefalte artikler
    ·Hva er en Bruk sak 
    ·CSS Image Rollover Effect 
    ·Hvordan få den siste Argument som en matrise i Perl 
    ·Hvordan Reset en lokal Admin Password Script 
    ·Tutorial på Java Logging API 
    ·Hvordan skrive et program i Python for Diofantisk ligni…
    ·Hvordan sjekke om en streng variabel innhold er numeris…
    ·Hvor å Endre Input Tekst Med Javascript 
    ·Slik konverterer Medium Tekst til JPG i PHP 
    ·Slik pakker du ut AVI Metadata i MATLAB 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/