728x90

 

 

로또번호 총 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));
728x90
반응형

+ Recent posts