De Java-taal biedt hulpprogramma's voor het genereren van willekeurige getallen in je programma . Als u een reeks willekeurige getallen genereren , maar willen niet een van hen te worden herhaald , moet u voorwaardelijke tests en loops gebruiken . Door het toevoegen van elk nummer dat u het genereren van een set collectie object , dan kunt u direct vertellen of een van hen zijn duplicaten . Als het nummer is een duplicaat , kunt u instrueren Java te blijven genereren van nieuwe nummers totdat het er een vindt je niet al aan de set toegevoegd . Het proces omvat twee lussen en een voorwaardelijke verklaring . Instructies 1 Importeer het Java- hulpprogramma's die nodig zijn voor uw genereren van willekeurige getallen en set -object . Voeg de volgende code aan de bovenkant van je klas aangifte : import java.util * ; Maak een set -object om de nummers die u genereert opslaan : . TreeSet myNumbers = new TreeSet ( ) ; Maak een instantie van de willekeurige klasse aan uw willekeurige getallen genereren : Random randGen = new Random ( ) ; kopen van 2 Maak een lus om je willekeurige getallen genereren . De volgende lus zal uitvoeren 20 keer : for (int i = 0 ; i < 20 ; i + + ) { //number generatie hier } Binnen deze lus , kunt u de verwerking toe te voegen aan het genereren en controleer je willekeurige nummers voor duplicaten . Alter het nummer 20 aan het totale aantal willekeurige waarden die u wilt uw programma te genereren weerspiegelen . In de lus , het genereren van een willekeurig getal : int randNum = randGen.nextInt ( ) ; Dit zal elke keer dat de lus herhaalt voeren 3 Voeg een tweede lus . omgaan met dubbele cijfers . Voeg de volgende code in je eerste lus na het nummer generatie lijn : voor ( ; ;) { //omgaan met duplicaten } p Dit is een oneindige lus , dus het zal eindeloos uit te voeren totdat de code breekt expliciet uit het. Binnen deze lus , kunt u instrueren Java te blijven genereren van willekeurige getallen totdat het genereert een die je nog niet hebt gebruikt . 4 Voeg een voorwaardelijke test op elk willekeurig nummer . Plaats de volgende code in je oneindige lus : if ( myNumbers.add ( randNum ) ) break ; anders randNum = randGen.nextInt ( ) ; Wanneer u een element toe te voegen aan een set , retourneert de methode true of vals . Als het element niet reeds in de set , keert het terug waar, in welk geval uw code kan uit te breken van de lus . Als het element al in de set , retourneert de methode valse , in welk geval u kunt instrueren Java naar een ander willekeurig getal kiezen . De lus zal dan opnieuw uit , het testen van de nieuwe waarde om te zien of het een duplicaat is . Dit proces gaat door totdat een nieuwe waarde wordt gevonden . 5 Test uw code . Voeg de volgende regel na uw oneindige lus , maar nog steeds binnen de buitenste lus : System.out.println ( randNum ) ; Dit zal u laten in een oogopslag zien dat uw nummers zijn allemaal uniek . Sla uw bestand , compileren uw programma en draaien om het te testen . Blader door de output te controleren of uw functies werken .
|