Visualizza le coppie in ordine casuale
Domanda
Come posso randomizzare l'ordine delle coppie? per esempio. Ho 3 elementi memorizzati nell'elenco, ad es. A, B, C - > che crea coppie di A-B, A-C, B-C.
Come posso visualizzare la coppia in ordine casuale? per esempio. A-B, A-C, B-C o B-C, A-B, A-C o 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);
ALTRE CLASSI
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);
}
}
Soluzione
Collections.shuffle(pairsX);
Altri suggerimenti
Ti sto solo fornendo lo pseudo codice. Supponi di avere tre voci nell'elenco.
- i = Genera un numero casuale compreso tra 0 per list.size () -1
- j = Genera un altro numero casuale in modo simile.
- Quindi stampa list.get (i) + " - " + list.get (j)
Puoi farlo in un ciclo e aggiungere condizioni per verificare se la coppia così generata è duplicata.
Suppongo che tu sappia come generare un numero casuale tra determinati numeri ..
Puoi fare qualcosa come (Math.random () * 1000)% 3
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow