2017-06-12 57 views
-4

我有3个数组(问题,答案和正确答案),我想挑选一个尚未挑选的随机问题。我使用了Random(),但问题重复出现,我该如何解决这个问题? 谢谢!如何随机化一个数组而不重复对象?

+2

这个问题已经回答了[这里](https://stackoverflow.com/questions/1519736/random-shuffling-of-an-array) –

+0

您还可以使用'HashSet'用'while'环顶部生成随机值。 –

+0

你需要谷歌这个词是:'permutation' – nafas

回答

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]; 
+0

非常感谢你! –

+0

请将答案标记为有用 –