Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Java Programming >> .

Come generare numeri casuali senza ripetizioni in Java

Il linguaggio Java fornisce le utility per la generazione di numeri casuali all'interno dei vostri programmi. Se si desidera generare una serie di numeri casuali , ma non vogliono nessuno di loro da ripetere , è necessario utilizzare test condizionali e loop . Con l'aggiunta di ogni numero che si genera a un oggetto insieme di raccolta , si può dire subito se uno di loro sono duplicati . Se il numero è un duplicato , è possibile indicare di Java per continuare a generare nuovi numeri fino a trovarne uno che non hai già aggiunto al set . Il processo prevede due anelli e una dichiarazione condizionale . Istruzioni
1

importare l' utility Java necessari per la vostra generazione di numeri casuali e oggetto set . Aggiungere il seguente codice nella parte superiore della tua dichiarazione di classe : import java.util * ;

Creare un oggetto set per memorizzare i numeri si generano : . TreeSet myNumbers = new TreeSet ( ) ;

creare un'istanza della classe Random per generare i numeri casuali : Random randGen = new Random ( ) ;
2

creare un ciclo per generare i numeri casuali . Il seguente ciclo for viene eseguito 20 volte : for (int i = 0; i < 20; i + + ) { //numero di generazione qui }

All'interno di questo ciclo , è possibile aggiungere l' elaborazione di generare e controllare il vostro casuale numeri per i duplicati . Modificare il numero 20 per riflettere il numero totale di valori casuali che si desidera il vostro programma di generare . All'interno del ciclo , generare un numero intero casuale : int randNum = randGen.nextInt ();

Questo eseguirà ogni volta che il ciclo si ripete
3

Aggiungi un secondo ciclo. per far fronte a numeri duplicati . Aggiungere il seguente codice all'interno del primo ciclo dopo la linea di generazione di numeri : for (; ;) { //affare con i duplicati }

Questo è un ciclo infinito , in modo che eseguirà all'infinito fino a quando il codice si rompe in modo esplicito di esso . All'interno di questo ciclo , è possibile indicare di Java per continuare a generare numeri casuali fino a che genera uno che non è stato già utilizzato .
4

Aggiungi un test condizionale per ogni numero casuale . Inserire il seguente codice all'interno del ciclo infinito : se ( myNumbers.add ( randNum ) ) break; altro randNum = randGen.nextInt ();

Quando si tenta di aggiungere un elemento ad un insieme , il metodo restituisce true o false . Se l'elemento non è già nel set , restituisce true , nel qual caso il codice può uscire dal giro. Se l' elemento è già nel set , il metodo restituisce false , nel qual caso è possibile indicare a Java per scegliere un altro numero casuale . Il ciclo viene poi eseguire nuovamente , testando il nuovo valore per vedere se è un duplicato . Questo processo continua fino a quando viene trovato un nuovo valore .
5

Verifica il tuo codice . Aggiungere la seguente riga dopo il vostro ciclo infinito , ma ancora all'interno del ciclo esterno : System.out.println ( randNum ) ;

Questo vi permetterà di vedere a colpo d'occhio che i numeri sono tutti unici . Salvare il file , compilare il programma ed eseguirlo per testarlo. Sfoglia l'uscita per verificare che le funzioni stanno lavorando .

 

Programmazione © www.354353.com