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