본문 바로가기
코딩 문제

Java로 로또 번호 출력하기

by elite777 2024. 5. 18.

Java로 로또 번호 출력하기

Java를 사용하여 로또 번호를 출력하는 프로그램을 작성해보겠습니다. 이 프로그램은 1부터 45까지의 숫자 중에서 6개의 랜덤한 번호를 선택하여 출력합니다.

코드 작성

아래는 로또 번호를 출력하는 Java 코드입니다.

 

import java.util.HashSet;
import java.util.Set;
import java.util.Random;

public class Lotto {
    public static void main(String[] args) {
        Set<Integer> lottoNumbers = new HashSet<>();
        Random random = new Random();

        while (lottoNumbers.size() < 6) {
            int number = random.nextInt(45) + 1;
            lottoNumbers.add(number);
        }

        System.out.println("Lotto numbers: " + lottoNumbers);
    }
}
코드 설명

1. 패키지 및 클래스 선언

 
import java.util.HashSet;
import java.util.Set;
import java.util.Random;

public class Lotto {
    public static void main(String[] args) {
        // 코드 내용
    }
}

import 문을 사용하여 필요한 Java 클래스를 가져옵니다. HashSet, Set, Random 클래스는 각각 중복을 허용하지 않는 컬렉션, 컬렉션 인터페이스, 난수 생성기 역할을 합니다. Lotto 클래스는 메인 프로그램을 포함합니다.

2. 변수 선언 및 초기화

 

Set<Integer> lottoNumbers = new HashSet<>();
Random random = new Random();

Set<Integer> 타입의 lottoNumbers 변수를 선언하여 중복되지 않는 로또 번호를 저장합니다. HashSet을 사용하여 중복된 번호가 자동으로 제거되도록 합니다. Random 객체를 생성하여 난수 생성을 담당합니다.

3. 로또 번호 생성

 
while (lottoNumbers.size() < 6) {
    int number = random.nextInt(45) + 1;
    lottoNumbers.add(number);
}

while 루프를 사용하여 lottoNumbers의 크기가 6이 될 때까지 반복합니다. random.nextInt(45) + 1 코드는 1부터 45까지의 난수를 생성합니다. lottoNumbers.add(number) 메서드는 생성된 난수를 lottoNumbers에 추가합니다. HashSet은 중복된 값을 허용하지 않기 때문에 자동으로 중복이 제거됩니다.

4. 로또 번호 출력

 
System.out.println("Lotto numbers: " + lottoNumbers);
 

System.out.println 메서드를 사용하여 생성된 로또 번호를 출력합니다. HashSet에 저장된 번호는 자동으로 정렬되지 않으며, 이를 정렬된 상태로 출력하려면 추가적인 정렬 작업이 필요합니다.

전체 코드

다시 한번 전체 코드를 확인해보겠습니다.

 
import java.util.HashSet;
import java.util.Set;
import java.util.Random;

public class Lotto {
    public static void main(String[] args) {
        Set<Integer> lottoNumbers = new HashSet<>();
        Random random = new Random();

        while (lottoNumbers.size() < 6) {
            int number = random.nextInt(45) + 1;
            lottoNumbers.add(number);
        }

        System.out.println("Lotto numbers: " + lottoNumbers);
    }
}

이 코드에서는 HashSet을 사용하여 중복되지 않는 6개의 로또 번호를 생성하고, Random 객체를 통해 난수를 생성합니다. 결과적으로 System.out.println을 통해 로또 번호를 출력합니다. 이 코드를 실행하면 매번 다른 로또 번호가 출력됩니다.

'코딩 문제' 카테고리의 다른 글

Python으로 로또 번호 출력하기  (0) 2024.05.18
JAVA 코딩문제 (두 배열의 교집합)  (0) 2024.05.17
Java로 별 패턴 만들기  (0) 2024.05.17
c 언어로 구구단 출력 문제  (0) 2024.05.17
python 구구단 출력 문제  (0) 2024.05.17