Display-Paare in zufälliger Reihenfolge
Frage
Wie kann ich randomisiert, um die Reihenfolge der Paare? z.B. Ich habe 3 Elemente in der Liste gespeichert sind z.B. A, B, C -> die Paare von A-B macht, A-C, B-C
.Wie kann ich das Paar in zufälliger Reihenfolge angezeigt werden? z.B. A-B, A-C, B-C oder B-C, A-B, A-C oder A-C, A-B, B-C
ArrayList<String> s = new ArrayList<String>();
s.add("A");
s.add("B");
s.add("C");
ListGenerator lg = new ListGenerator(s);
ANDERE CLASS
public class ListGenerator {
private ArrayList<String> pairsX= new ArrayList<String>();
public ListGenerator(ArrayList<String> list) {
int size = list.size();
int count_pairs = 0;
// create a list of all possible combinations
for(int i = 0 ; i < size ; i++)
{
String s1 = ""+i;
for(int j = (i+1) ; j < size ; j++)
{
count_pairs++;
String s2 = ""+j;
pairsX.add(s1+","+s2);
}
}
System.out.println("numPairs "+count_pairs);
for(String s : pairsX) {
System.out.println(s);
}
}
Lösung
Collections.shuffle(pairsX);
Andere Tipps
Ich bin gerade bietet Ihnen die Pseudo-Code. Sagen Sie drei Elemente in der Liste haben.
- i = Erzeugen Sie eine Zufallszahl zwischen 0 bis list.size () -1
- j = Erneute Zufallszahl ähnlich.
- Dann drucken list.get (i) + "-" + list.get (j)
Sie können dies in einer Schleife tun und Bedingungen hinzufügen, um zu überprüfen, ob das Paar so erzeugte ein Duplikat ist.
Ich gehe davon aus Sie wissen, wie eine Zufallszahl zwischen bestimmten Zahlen zu erzeugen ..
Sie können so etwas wie (Math.random () * 1000)% 3
tunLizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow