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
  • 28,093
  • 80
  • 242
  • 473

2 Answers2

3

You can use

Collections.shuffle(Arrays.asList(cards));
Mohammed Aouf Zouag
  • 16,747
  • 3
  • 39
  • 66
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,257
  • 4
  • 21
  • 35