0

i have java string array which looks like this :

String [] cards = {"c1","c2","c3", , , , , , ,, , "c45"};

so i have there 45 elements , now i like to rendom them each time so it will be :

int[] cards2  = Arrays.copyOf(cards , cards .length);
random(cards2);

how should be the random function look like ?

user63898
  • 29,839
  • 85
  • 272
  • 514

2 Answers2

3

You can use

Collections.shuffle(Arrays.asList(cards));
Mohammed Aouf Zouag
  • 17,042
  • 4
  • 41
  • 67
1

You can use this if you want to copy to a new array.

public String[] randome(String[] arr) {
   Random rgen = new Random();

   String[] randArray = new String[arr.length];
    System.arraycopy(arr, 0, randArray, 0, arr.length);

   for (int i = 0; i < randArray.length; i++) {
    int randIn = rgen.nextInt(randArray.length);
    String temp = randArray[i];
    randArray[i] = randArray[randIn];
    randArray[randIn] = temp;
    }

    return randArray;
 }
Abdelhak
  • 8,299
  • 4
  • 22
  • 36