728x90
ball 변수에 배열 선언 및 길이까지 할당
a = b
b = c
c = a
로직을 이용하여 Math.random()으로 생성한 난수를 j에 넣고
temp에 ball[i]를 넣어서 임시 보관시키고,
난수 생성한 j를 ball인덱스 번호에 넣은 ball[j]를 ball[i] 다시 넣고
ball[j]에는 tmp에 넣어두었던 ball[i]를 다시 넣으므로써 스위칭이 가능해진다
// 로또번호 6개 만들기
// 45개의 정수값을 저장하기 위한 배열 생성.
int[] ball = new int[45];
// 배열의 각 요소에 1~45의 값을 저장한다.
for(int i=0; i < ball.length; i++)
ball[i] = i+1;
System.out.println(Arrays.toString(ball));
int temp = 0; // 두 값을 바꾸는데 사용할 임시변수
int j = 0; // 임의의 값을 얻어서 저장할 변수
// 배열의 i번째 요소와 임의의 요소에 저장된 값을 서로 바꿔서 값을 섞는다.
// 0번째 부터 5번째 요소까지 모두 6개만 바꾼다.
for(int i=0; i < 6; i++){
j = (int)(Math.random()*45); // 0~44범위의 임의의 값을 얻는다.
temp = ball[i];
ball[i] = ball[j];
ball[j] = temp;
System.out.println(Arrays.toString(ball));
}
// 배열 ball의 앞에서 부터 6개의 요소를 출력한다.
for(int i=0; i < 6; i++)
System.out.printf("ball[%d]=%d%n", i, ball[i]);
728x90
반응형
'small steps > 1일 1코딩 - 코딩을 내 몸처럼' 카테고리의 다른 글
[1일1코딩][Java] array : 최대최소값 구하기 & 로또번호 랜덤생성 (1) | 2022.09.09 |
---|---|
[1일1코딩][Java] 2차원 배열 : 학생별 평균, 총점 구하기 (0) | 2022.09.08 |
[1일1코딩][Java] array - 가위 바위 보 (0) | 2022.09.06 |
[1일1코딩][코딩테스트] 백준 단계별 문제 풀이 1단계 5,6번 (0) | 2022.09.05 |
[1일1코딩][코딩테스트] 백준 단계별 문제풀이 1-3,4번 (0) | 2022.09.04 |