프로그램 문제

로또 배열 - 중복없이

낙산암 2021. 10. 19. 16:51

class Lotto{

int lottoNum[] = new int[6];    //랜덤 숫자들을 담을 배열

public Lotto() {
    setLottNum();
}

public void setLottNum() {

    for(int i=0; i < lottoNum.length  ; i++) {
        //r.nextInt(45) : 45를 upperBound로 한 랜덤 정수 추출 + 1 : 1 ~ 45
        lottoNum[i] = (int)(Math.random()*45) + 1;

        //중복제거 : 현제 index (i) 와 (0 ~ i-1) 비교하여 중복된 숫자가 존재하면 i--
        for(int j = 0 ;  j < i ; j++) {            
            if(lottoNum[i] == lottoNum[j]) {
                i--;
                break;
            }
        }
    }

}

public void printLotto() {
    //배열 내의 랜덤 번호 출력
    for(int i=0;i<6;i++)
        System.out.print(lottoNum[i] + " ");
}    

}

public class LottoTest {

public static void main(String[] args) {
    Lotto lotto = new Lotto();
    lotto.printLotto();

}

}