Programming Language/JAVA

배열의 활용 (3) ~ (4)

Glory-L 2023. 1. 25. 19:58

섞기

 

 

import java.util.Arrays;

class Ex5_4 {
	public static void main(String[] args) {
    	int[] numArr = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
        System.out.println(Arrays.toString(numArr));
        
        for (int i=0; i < 100; i++) {
        	// 인덱스 값 
        	int n = (int)(Math.random() * 10);	// 0 ~ 9 중의 한 값을 임의로 얻는다. 배열의 인덱스는 0부터 시작하기 때문에 맞춰주기 위해 * 10
            int tmp = numArr[0];
            numArr[0] = numArr[n];
            numArr[n] = tmp;   		// numArr[0]과 numArr[n]의 값을 tmp 변수를 통해 서로 바꾼다.
        }
        System.out.println(Arrays.toString(numArr));
    } // main 끝
}

 

 


 

로또 번호 만들기

 

 

class Ex5_5 {
	public static void main (String[] args) {
    	// index : 0 ~ (45 - 1) = 0 ~ 44 * 0부터 시작하기 때문에 -1 처리 
        int[] ball = new int[45];	// 45개의 정수값을 저장하기 
        
        // 배열의 각 요소에 1 ~ 45의 값을 저장한다.
        for(int i=0; i < ball.length; i ++)
        	ball[i] = i+1;	// ball[0]에 1이 저장된다. 
        
        int tmp = 0;	// 두 값을 바꾸는데 사용할 임시 변수 
        int j = 0;		// 임의의 값을 얻어서 저장할 변수
        
        // 배열의 i번째 요소와 임의의 요소에 저장된 값을 서로 바꿔서 값을 tmp 변수에 저장
        // 0번째 부터 5번째 요소까지 모두 6개만 바꾼다.
        for(int i=0; i < 6; i++) {
        	j = (int)(Math.random() * 45);	// 0~44범위의 임의의 수 저장
            tmp   = ball[i];
            ball[i] = ball[j];
            ball[j] = tmp;
         	System.out.println(Arrays.toString(ball)); // 앞의 6번째 배열 까지만 for문 돌려도 0 ~ 45까지 임의의 수와 바꿔진다.
            // 따라서 45번 for문을 돌려줄 필요는 없다. 
        }
        
        // 배열 ball의 앞에서 부터 6개의 요소를 출력한다. 
        for (int i = 0; i < 6; i++)
        	System.out.printf("ball[%d]=%d%n", i, ball[i]);
        
      }
  }

 

 

 

[ 자바의 정석 - 기초 유튜브 강의 영상 참고 ]

https://www.youtube.com/watch?v=xa8b1WWeO0Q&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=44