로또번호 총 1-45번을 저장하기 위해 배열 변수 45 길이로 선언 및 할당
1-45까지 다 적어서 넣을 필ㅇ없이 for문으로 1-45까지 배열에 값을 넣어주고
로또번호 6자리만 선택될 수 있게 for문 6번 반복하도록 0에서 5까지 범위 설정
a=b
b=c
c=a 의 변하는 값을 바꿀 수 있는 알고리즘을 사용하여
생성한 난수를 저장할 수 있는 임시 변수(randomNum)을 선언하고 거기에 값을 넣어주고
이후 기존의 배열 변수인 lNum[i]를 tempNum에 넣어줘서 지워지기 전에 다른 변수에 임시로 저장해준다
그리고 lNum[i]에 lNum[randomNum]을 넣어주고 다시 임시로 lNum[i]을 저장했던 tempNum을 다시 Num[randomNum]에 넣어주면 완성
// 로또번호 6개 만들기
// 45개의 정수값을 저장하기 위한 배열 생성.
// 배열의 각 요소에 1~45의 값을 저장한다.
int[] lNum = new int[45];
for(int i=0; i < lNum.length; i++){
lNum[i] = i+1;
}
System.out.print(Arrays.toString(lNum)); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45]
// 값 저장 임시변수 생성
int tempNum = 0;
int randomNum = 0;
for(int i=0; i<=5;i++) {
randomNum = (int) (Math.random() * 45);
tempNum = lNum[i];
lNum[i] = lNum[randomNum];
lNum[randomNum] = tempNum;
}
System.out.println();
System.out.println(Arrays.toString(lNum));
'small steps > 1일 1코딩 - 코딩을 내 몸처럼' 카테고리의 다른 글
[1일1코딩][Java] java collection set 6th & ListIterator 1st (0) | 2022.09.16 |
---|---|
[1일1코딩][Java] Collection : Set 5th practice - Iterator (0) | 2022.09.15 |
[1일1코딩][Java] 가위바위보 & 최대최소값 도출 (0) | 2022.09.13 |
[1일1코딩][Java] BufferedReader & StringTokenizer (0) | 2022.09.12 |
22.09.12 운동기록 (0) | 2022.09.12 |