[Java] 배열 숫자 섞기

고동이의 IT·2021년 10월 7일
0

Java

목록 보기
5/37
post-thumbnail

[6-20] 다음과 같이 정의된 메서드를 작성하고 테스트하시오.

메서드명 : shuffle 기 능 주어진 배열에 담긴 값의 위치를 바꾸는 작업을 반복하여 뒤섞이게 한다

반환타입 : int[]

매개변수: int[] 매개변수 정수값이 담긴 배열


위치를 바꾸는 메서드를 만드는건 이제 아주 약간 껌이다.

package OOP_6;

import java.util.Random;

public class Exercise6_20 {
	int temp;
int[] shuffle(int[] arr) {

	for (int i = 0; i < arr.length; i++) {
		int num= (int)(Math.random()*arr.length);
		temp= arr[0];  //arr[0] 대신 arr[i]여도 똑같
		arr[0]=arr[num];
		arr[num]=temp;
	}
	return arr;
}

public static void main(String[] args) {
	Exercise6_20 c = new Exercise6_20();
	
	 int[] original = {1,2,3,4,5,6,7,8,9};
	 System.out.println(java.util.Arrays.toString(original)); 
	 int[] result = c.shuffle(original); 
     System.out.println(java.util.Arrays.toString(result));
	 
}

}
temp값에 값을 고정시켜놓는게 포인트

int num= (int)(Math.random()*arr.length)에서

int num= (int)Math.random()*arr.length 쓰면 랜덤값 출력안됨 괄호주의

profile
삐약..뺙뺙

0개의 댓글