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);
    }
   }
War es hilfreich?

Lösung

Collections.shuffle(pairsX);

Andere Tipps

Ich bin gerade bietet Ihnen die Pseudo-Code. Sagen Sie drei Elemente in der Liste haben.

  1. i = Erzeugen Sie eine Zufallszahl zwischen 0 bis list.size () -1
  2. j = Erneute Zufallszahl ähnlich.
  3. 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

tun
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top