본문 바로가기
JAVA & Spring

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

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

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

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

 


 

🖥️ Java 소스 코드로 이해하기

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 + " ");
}
}
}
반응형

댓글