Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[로또] 박희원 미션 제출합니다. #167

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

HeewonP825
Copy link

  1. 로또 구입 및 당첨 금액

    • 로또 번호의 숫자 범위는 1~45까지이다.
    • 1개의 로또를 발행할 때 중복되지 않는 6개의 숫자를 뽑는다.
    • 당첨 번호 추첨 시 중복되지 않는 숫자 6개와 보너스 번호 1개를 뽑는다.
    • 당첨은 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원
  2. 로또 발행

    • 로또 구입 금액을 입력하면 구입 금액에 해당하는 만큼 로또를 발행해야 한다.
    • 로또 1장의 가격은 1,000원이다.
  3. 로또 게임 진행

    • 당첨 번호와 보너스 번호를 입력받는다.
    • 사용자가 구매한 로또 번호와 당첨 번호를 비교한다.
    • 당첨 내역 및 수익률을 출력하고 로또 게임을 종료한다.
  4. 오류 처리

    • 사용자가 잘못된 값을 입력할 경우 IllegalArgumentException를 발생시킨다.
      • "[ERROR]"로 시작하는 에러 메시지를 출력 후 그 부분부터 입력을 다시 받는다.
      • Exception이 아닌 IllegalArgumentException, IllegalStateException 등과 같은 명확한 유형을 처리한다.
  5. 테스트

    • Junit 5와 AssertJ를 사용하여 위의 기능들을 테스트
      • 각 기능이 정상적으로 동작하는지 확인
      • 예외 상황에 대한 테스트 수행

+) 입출력 및 라이브러리

  • 입력: Console의 readLine() 사용
  • 출력: Console 이용
  • Randoms의 pickNumberRange() 사용하여 무작위 값 생성 수행

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant