공부 STUDY/JAVA

[JAVA] 자바의 정석 연습문제 5장 배열 [5-5]

CHANGEL 2023. 2. 25. 09:24

[5-5] 다음은 1과 9 사이의 중복되지 않은 숫자로 이루어진 3자리 숫자를 만들어내는 프로그램이다. (1)~(2)에 알맞은 코드를 넣어서 프로그램을 완성하시오. 

 

package chapter2;

public class No1 {
    public static void main(String[] args) {
        int[] ballArr = {1,2,3,4,5,6,7,8,9};
        int[] ball3 = new int[3];

        for(int i =0; i <ballArr.length; i++) {
            int j = (int)(Math.random() * ballArr.length);
            int tmp = 0;

            tmp = ballArr[i];
            ballArr[i] = ballArr[j];
            ballArr[j] = tmp;


        }
        System.arraycopy(ballArr, 0, ball3, 0, 3);
        for(int i = 0; i < ball3.length; i++) {
            System.out.print(ball3[i]);
        }
    }
}

 

1부터 9까지의 숫자를 배여렝 순서대로 담고, 반복해서 위치를 서로 바꿔줌으로써 숫자를 섞는다. 그 다음에 배열의 세 요소를 차례대로 가져오면 중복되지 않은 세 개의 정수를 얻을 수 있다.