Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

로또

java로 구현하는 로또 발매기 프로그램

입력한 금액에 따라 로또를 발행받고, 당첨 번호에 따라 당첨 내역과 수익률을 알 수 있는 프로그램이다.

로또 번호의 숫자 범위는 1~45까지이다. 모든 로또 번호의 조합은 중복되지 않게 뽑는다.


로또 발행

  • 사용자로부터 로또 구입 금액을 입력받는다.
  • 로또 1장의 가격은 1,000원으로, 구입 금액은 1,000원 단위로 입력 받는다.

입력 예시

14000

  • 사용자가 잘못된 값을 입력할 경우IllegalArgumentException을 발생시키고, "[ERROR]"로 시작하는 에러 메시지를 출력 후 그 부분부터 입력을 다시 받는다.

    사용자가 금액을 1000원 단위로 입력하지 않은 경우: [ERROR] 금액은 1000원 단위의 숫자로 입력해 주세요.

    사용자가 금액으로 숫자 이외의 값을 입력한 경우: [ERROR] 금액은 1000원 단위의 숫자로 입력해 주세요.


  • 입력받은 구입 금액에 해당하는 만큼 로또를 발행한다.
  • 발행한 로또 수량 및 번호를 출력한다. 로또 번호는 오름차순으로 정렬하여 보여준다.

출력 예시

8개를 구매했습니다.
[8, 21, 23, 41, 42, 43]
[3, 5, 11, 16, 32, 38]
[7, 11, 16, 35, 36, 44]
[1, 8, 11, 31, 41, 42]
[13, 14, 16, 38, 42, 45]
[7, 11, 30, 40, 42, 43]
[2, 13, 22, 32, 38, 45]
[1, 3, 5, 14, 22, 45]

당첨 번호 추첨

중복되지 않는 숫자 6개와 보너스 번호 1개를 뽑는다.

  • 당첨 번호와 보너스 번호를 입력받는다.
  • 당첨 번호 6개는 쉼표(,)로 구분해 입력받고, 보너스 번호는 따로 입력받는다.

당첨 번호 입력 예시

1,2,3,4,5,6

보너스 번호 입력 예시

7

사용자가 잘못된 값을 입력할 경우IllegalArgumentException을 발생시키고, "[ERROR]"로 시작하는 에러 메시지를 출력 후 그 부분부터 입력을 다시 받는다.

사용자가 1~45 사이의 번호를 입력하지 않은 경우 : [ERROR] 로또 번호는 1부터 45 사이의 숫자여야 합니다.

사용자가 당첨 번호로 중복된 번호를 입력한 경우 : [ERROR] 중복된 번호는 뽑을 수 없습니다.

사용자가 6개의 번호를 입력하지 않은 경우 : [ERROR] 로또 번호는 6개여야 합니다.

당첨 내역 확인

사용자가 구매한 로또 번호와 당첨 번호를 비교하여 당첨 내역 및 수익률을 출력하고 로또 게임을 종료한다.

  • 당첨은 1등부터 5등까지 있다. 당첨 기준과 금액은 아래와 같다.
    • 1등: 6개 번호 일치 / 2,000,000,000원
    • 2등: 5개 번호 + 보너스 번호 일치 / 30,000,000원
    • 3등: 5개 번호 일치 / 1,500,000원
    • 4등: 4개 번호 일치 / 50,000원
    • 5등: 3개 번호 일치 / 5,000원

  • 당첨 내역은 일치한 번호의 개수와 당첨 금액, 당첨 개수를 출력한다.
  • 수익률은 구입 금액대비 당첨 금액의 비율을 출력한다.
  • 수익률은 소수점 둘째 자리에서 반올림한다. (ex. 100.0%, 51.5%, 1,000,000.0%)

당첨 내역 출력 예시

3개 일치 (5,000원) - 1개
4개 일치 (50,000원) - 0개
5개 일치 (1,500,000원) - 0개
5개 일치, 보너스 볼 일치 (30,000,000원) - 0개
6개 일치 (2,000,000,000원) - 0개

수익률 출력 예시

총 수익률은 62.5%입니다.

프로그램 실행 결과 예시

구입금액을 입력해 주세요.
8000

8개를 구매했습니다.
[8, 21, 23, 41, 42, 43]
[3, 5, 11, 16, 32, 38]
[7, 11, 16, 35, 36, 44]
[1, 8, 11, 31, 41, 42]
[13, 14, 16, 38, 42, 45]
[7, 11, 30, 40, 42, 43]
[2, 13, 22, 32, 38, 45]
[1, 3, 5, 14, 22, 45]

당첨 번호를 입력해 주세요.
1,2,3,4,5,6

보너스 번호를 입력해 주세요.
7

당첨 통계
---
3개 일치 (5,000원) - 1개
4개 일치 (50,000원) - 0개
5개 일치 (1,500,000원) - 0개
5개 일치, 보너스 볼 일치 (30,000,000원) - 0개
6개 일치 (2,000,000,000원) - 0개
총 수익률은 62.5%입니다.

About

2024 우테코 프리코스 3주차 과제

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages