I have 3 arrays ( questions, answers and correct answers ) and I want to pick a random question that hasn't been already picked. I used Random(), but the questions are repeating, how can i solve this problem ? Thanks !
Asked
Active
Viewed 54 times
-4
-
2This question has been answered [here](https://stackoverflow.com/questions/1519736/random-shuffling-of-an-array) – Jonas Praem Jun 12 '17 at 10:09
-
You can also use `HashSet` with `while` loop top generate random values. – Sanket Makani Jun 12 '17 at 10:10
-
the word you need to google is : `permutation` – nafas Jun 12 '17 at 10:10
1 Answers
0
Random rand = new Random(); //random number generator
Integer[] rand_number = new int[4]; //this array take 4 diferent number
int count = 0;
try {
while (count < 4) {
random_number = rand.nextInt(4) + 1;
int n = 0;
for (int i = 0; i < rand_number.length(); i++) {
if (random_number != rand_number[i]) {
n++;
}
}
if (n == rand_number.length()) {
rand_number[rand_number.length()] = random_number;
count++;
}
}
} catch (Exception e) {
Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG)
.show();
} // now ypu get 4 random number it will be 0, 2, 3, 1 or 2, 0, 1, 3 or ...
//your random answers
String var1 = answers[rand_number[0];
String var2 = answers[rand_number[1];
String var3 = answers[rand_number[2];
String var4 = answers[rand_number[3];

Fakhriddin Abdullaev
- 4,169
- 2
- 35
- 37