ALGORITHM/문제해결

[JAVA] 임의의 섞기 ( Math.random() )

안낭우훗 2018. 8. 13. 06:35

/*문제: 30
1) 0에서 19까지 정수가 저장된 배열의 수를 임의로 섞어라.
int[] numbers = {0, ..., 19}
2) 출력 예:
17 2 1 19 5 ...

3) 숫자를 섞기 위해 임의로 인덱스를 뽑아내기
Math.random() * 20
*/

 

 


class Test{

 public static void main(String[] args) throws Exception {

   int[] numbers = new int[20];
   for (int i = 0; i <= 19; i++) {
     numbers[i] = i;
   }

   int index1, index2, temp;
   for (int i = 0; i < numbers.length; i++) {
     index1 = (int)(Math.random() * 20);
     index2 = (int)(Math.random() * 20);
     temp = numbers[index1];
     numbers[index1] = numbers[index2];
     numbers[index2] = temp;
   }
   for (int i : numbers) {
    System.out.printf("%d \n", i);
  }

  }
}