Die Programmiersprache Java bietet Dienstprogramme zur Erzeugung von Zufallszahlen innerhalb Ihrer Programme . Wenn Sie eine Reihe von Zufallszahlen zu erzeugen , wollen , wollen aber nicht jeder von ihnen wiederholt werden soll, müssen Sie bedingte Tests und Loops verwenden . Durch die Zugabe von jeder Zahl, die Sie erzeugen, um eine Reihe Sammlung Objekt können Sie sofort erkennen, ob einer von ihnen Duplikate sind . Wenn die Zahl ist ein Duplikat , können Sie anweisen, Java , weiterhin die Schaffung neuer Zahlen , bis es eine Sie nicht bereits auf den Satz hinzugefügt findet . Der Prozess umfasst zwei Schleifen und bedingte Anweisung . Anleitung
1
Importieren Sie die Java-Dienstprogramme , die für Ihre Zufallszahlenerzeugung und gestellten Aufgabe . Fügen Sie den folgenden Code am Anfang der Klasse Erklärung : import java.util * ;
erstellen gestellte Aufgabe , die Zahlen, die Sie erzeugen, speichern : . TreeSet MyNumbers = new TreeSet ();
erstellen Sie eine Instanz der Random-Klasse , um Ihre Zufallszahlen zu erzeugen : Random randGen = new Random ( );
2
erstellen eine Schleife, um Ihre Zufallszahlen zu erzeugen . Die folgende for-Schleife wird ausgeführt, 20 mal : for ( int i = 0; i < 20; i + +) {//Anzahl Generation here}
Innerhalb dieser Schleife , können Sie die Verarbeitung zu generieren und überprüfen Sie Ihre zufällige Zahlen für Duplikate. Ändern Sie die Nummer 20 , die Gesamtzahl von zufälligen Werten Sie Ihr Programm zu erzeugen reflektieren. Innerhalb der Schleife eine zufällige integer: int = randNum randGen.nextInt ();
Diese wird jedes Mal die Schleife durchläuft ausführen
3
Fügen Sie eine zweite Schleife . mit doppelten Nummern zu bewältigen. Fügen Sie den folgenden Code in Ihre erste Schleife nach der Anzahl Generation Zeile: for (; ;) {//Deal mit Dubletten }
Dies ist eine Endlosschleife , so wird es endlos ausführen , bis der Code explizit bricht aus es . Innerhalb dieser Schleife können Sie anweisen, Java weiterhin die Erzeugung von Zufallszahlen erzeugt , bis es eine , die Sie nicht bereits verwendet wird.
4
Fügen Sie einen bedingten Test auf jeder Zufallszahl. Fügen Sie den folgenden Code in Ihre Endlosschleife : if ( myNumbers.add ( randNum ) ) break; sonst randNum = randGen.nextInt ();
Wenn Sie ein Element in einen Satz hinzuzufügen, gibt die Methode true oder falsch. Wenn das Element nicht bereits in dem Satz , wird true zurückgegeben , in welchem Fall Sie den Code brechen kann aus der Schleife . Wenn das Element bereits in der Menge , gibt die Methode false zurück , in diesem Fall können Sie anweisen , eine andere Java Zufallszahl wählen . Die Schleife wird dann erneut ausführen , testen Sie den neuen Wert zu sehen, ob es ein Duplikat ist . Dieser Prozess wird fortgesetzt, bis ein neuer Wert gefunden.
5
Testen Sie Ihren Code . Fügen Sie die folgende Zeile nach Ihren Endlosschleife , aber immer noch innerhalb der äußeren Schleife : System.out.println ( randNum );
So können Sie auf einen Blick , dass Ihre Zahlen sind alle einzigartig anzusehen. Speichern Sie die Datei , kompilieren Sie Ihr Programm und führen Sie es zu testen. Stöbern Sie in den Ausgang , um zu überprüfen , dass Ihre Funktionen arbeiten .