본문 바로가기
JAVA & Spring

[Java] 로또 번호 자동 생성기 (+코드)

by 알기 쉬운 코딩 사전 2024. 12. 1.
반응형

📄 로또 번호 자동 생성기 요구 사항

  • OCP 원칙을 지키며 소스 코드를 작성합니다.
  • 로또 번호는 1~45 사이의 숫자를 6개 뽑아야 합니다.
  • 각 숫자는 중복되면 안됩니다.
  • 실행할 때 마다 결과가 달라야 합니다.

 

LottoGenerator.java

import java.util.Random;

public class LottoGenerator {
    private final Random random = new Random();
    private int[] lottoNumbers;
    private int count;

    public int[] generate() {
        lottoNumbers = new int[6];
        count = 0;

        while (count < 6) {
            // 1부터  45 사이의 숫자 생성
            int number = random.nextInt(45) + 1;

            // 중복되지 않은 경우에만 배열에 추가
            if (isUnique(number)){
                lottoNumbers[count] = number;
                count++;
            }
        }
        return lottoNumbers;
    }

    private boolean isUnique(int number) {
        for (int i = 0; i < count; i++) {
            if (lottoNumbers[i] == number) {
                return false;
            }
        }
        return true;
    }
}
 
 

 

LottoGeneratorMain.java

public class LottoGeneratorMain {
    public static void main(String[] args) {
        LottoGenerator generator = new LottoGenerator();
        int[] lottoNumbers = generator.generate();

        // 생성된 로또 번호 출력
        System.out.print("로또 번호: ");
        for (int lottoNumber : lottoNumbers) {
            System.out.print(lottoNumber + " ");
        }
    }
}
반응형

댓글