[Java] So erhalten Sie Zufallszahlen ohne bestimmte Zahlen

9/13 Update

Der Code, den ich zuvor geschrieben habe, wurde verbessert. Als Verbesserungspunkt

main.java


import java.util.Random;
import java.util.HashSet;

public class Main {
 
    public static void main(String[] args) {
        Random rand = new Random();
        int i;
        //Speichern Sie die Nummer, die Sie ausschließen möchten
        Set exSet = new HashSet();
        exList.add(2);
	    exList.add(5);
	    exList.add(8);
		
		do {
			i = Interger.valueOf(rand.nextInt(10)+1); // 1~Generieren Sie Zufallszahlen bis 10 und konvertieren Sie sie in eine Zeichenfolge
		} while (exSet.contains(i)); //Wiederholen Sie diesen Vorgang, wenn eine der Nummern in der Ausschlussliste übereinstimmt
		System.out.println(i);
    }
}

Hier ist der Code vor der Verbesserung

main.java


import java.util.ArrayList;
import java.util.Random;

public class Main {
 
    public static void main(String[] args) {
        Random rand = new Random();
        String i;
        //Speichern Sie die Nummer, die Sie ausschließen möchten
        List<String> exList = new ArrayList<String>();
        exList.add("2");
		exList.add("5");
		exList.add("8");
		
		do {
			i = String.valueOf(rand.nextInt(10)+1); // 1~Generieren Sie Zufallszahlen bis 10 und konvertieren Sie sie in eine Zeichenfolge
		} while (exList.contains(i)); //Wiederholen Sie diesen Vorgang, wenn eine der Nummern in der Ausschlussliste übereinstimmt
		System.out.println(i);
    }
}

Ich habe auch einen Weg gefunden, Zufallszahlen auszuschließen, mit Ausnahme bestimmter Zahlen, die auf QS-Websites in Übersee gefunden wurden. Ich werde es als Referenz posten.

public int getRandomWithExclusion(Random rnd, int start, int end, int... exclude) {
    int random = start + rnd.nextInt(end - start + 1 - exclude.length);
    for (int ex : exclude) {
        if (random < ex) {
            break;
        }
        random++;
    }
    return random;
}

main.java


int[] ex = { 2, 5, 6 };
val = getRandomWithExclusion(rnd, 1, 10, ex)
// 5,6,Wenn eine Zufallszahl von 7 erzeugt wird, wird der Wert von 7 erfasst, so dass die Häufigkeit des Auftretens nur für 7 hoch ist.

Recommended Posts

[Java] So erhalten Sie Zufallszahlen ohne bestimmte Zahlen
Verwendung von HttpClient (Get) von Java
So finden Sie Java-Primzahlen
[Java] So erhalten Sie das aktuelle Verzeichnis
So erhalten Sie das Datum mit Java
So erhalten Sie eine Klasse von Element in Java
Wie man Java SE8 Gold bekommt und studiert
[Java] Wie man mit der String-Klasse an die Spitze eines bestimmten Strings kommt
[Java] So erhalten Sie die endgültige umgeleitete URL
[Java] So erhalten Sie die URL der Übergangsquelle
[Java] So erhalten Sie den Maximalwert von HashMap
[Java] So erhalten Sie eine Anfrage per HTTP-Kommunikation
Stand April 2018 So installieren Sie Java 8 auf einem Mac
[Java] So löschen Sie ein bestimmtes Zeichen aus einer Zeichenfolge
So senken Sie die Java-Version
[Java] Verwendung von Map
So deinstallieren Sie Java 8 (Mac)
Verwendung von Java Optional
So minimieren Sie Java-Images
Wie schreibe ich einen Java-Kommentar
Verwendung der Java-Klasse
[Java] Verwendung von removeAll ()
[Java] So zeigen Sie Wingdings an
Verwendung von Java Map
So legen Sie Java-Konstanten fest
Verwendung von Java-Variablen
So konvertieren Sie Java Base
[Java] So implementieren Sie Multithreading
So initialisieren Sie ein Java-Array
So erhalten Sie den Namen einer Klasse / Methode, die in Java ausgeführt wird
Eine nicht unterstützte Java-Version So beseitigen Sie Fehler
So lernen Sie Java Silver SE 8
Wie fange ich mit schlank an?
Java # 6 studieren (Wie man Blöcke schreibt)
So erstellen Sie einen Java-Container
So zerlegen Sie eine Java-Klassendatei
Verwendung von HttpClient (Post) von Java
[Java] Verwendung der Join-Methode
So erhalten Sie Parameter in Spark
[Verarbeitung × Java] Verwendung von Variablen
So dekompilieren Sie eine Java-Klassendatei
[JavaFX] [Java8] Verwendung von GridPane
So schreiben Sie eine Java-Variablendeklaration
Verwendung von Klassenmethoden [Java]
[Java] Verwendung von List [ArrayList]
Wie verwende ich Klassen in Java?
So benennen Sie Variablen in Java
So übergeben Sie Oracle Java Silver
So drehen Sie Iterator Dojo (Java)
Java Eclips So debuggen Sie JavaScript
[Verarbeitung × Java] Verwendung von Arrays