/java-lotto

로또 미션 진행을 위한 저장소

로또 미션 저장소

프로그램 실행 흐름

  1. 사용자로부터 구입 금액을 입력 받는다.
  2. 사용자로부터 수동으로 구매할 로또의 개수를 입력받는다.
  3. 사용자로부터 수동으로 구매할 로또의 개수만큼 로또 번호를 입력받는다.
  4. 수동으로 구매할 로또의 개수를 제외한 남은 개수만큼 자동으로 로또를 구매한다.
  5. 구매한 로또의 개수구매한 로또의 번호를 보여준다.
  6. 사용자로부터 당첨 번호를 입력받는다.
  7. 사용자로부터 보너스 볼을 입력받는다.
  8. 당첨 통계 - 당첨 등수당첨 통계 - 수익률을 보여준다.

로또 당첨 규칙 및 상금

  • 당첨번호 6개 중 6개 일치하면, 2,000,000,000
  • 당첨번호 6개 중 5개 일치와 돵시에 보너스 볼이 일치하면, 30,000,000
  • 당첨번호 6개 중 5개 일치하면, 1,500,000
  • 당첨번호 6개 중 4개 일치하면, 50,000
  • 당첨번호 6개 중 3개 일치하면, 5,000

기능 요구사항 - 사용자 입력

  • 구입 금액 입력

    • 구입 금액은 숫자여야 합니다. 아닌 경우, IllegalArgumentException 발생
    • 구입 금액은 양수여야 합니다. 아닌 경우, IllegalArgumentException 발생
    • 구입 금액은 1000원 단위여야 합니다. 아닌 경우, IllegalArgumentException 발생
  • 수동으로 구매할 로또의 개수 입력

    • 로또 개수는 숫자여야 합니다. 아닌 경우, IllegalArgumentException 발생
    • 로또 개수는 음수가 아니어야 합니다. 아닌 경우, IllegalArgumentException 발생
    • 로또 개수구매 가능한 로또의 개수보다 작아야 합니다. 아닌 경우, IllegalArgumentException 발생
  • 로또 번호 (당첨 번호) 입력

    • 로또는 줄 단위로 구분됩니다.
    • 로또 번호는 쉼표(,)를 기준으로 구분됩니다.
    • 로또 번호를 구성하는 숫자의 앞뒤로 모든 공백은 제거됩니다.
    • 로또 번호는 숫자로 구성되어야 합니다. 아닌 경우, IllegalArgumentException 발생
    • 로또 번호는 6개로 구성되어야 합니다. 아닌 경우, IllegalArgumentException 발생
    • 로또 번호1 ~ 45 범위 안의 숫자로 구성되어야 합니다. 아닌 경우, IllegalArgumentException 발생
    • 로또 번호는 중복된 숫자로 구성될 수 없습니다. 아닌 경우, IllegalArgumentException 발생
  • 보너스 볼 입력

    • 보너스 볼는 숫자로 구성되어야 합니다. 아닌 경우, IllegalArgumentException 발생
    • 보너스 볼1 ~ 45 범위 안의 숫자로 구성되어야 합니다. 아닌 경우, IllegalArgumentException 발생
    • 보너스 볼당첨 번호와 중복되어선 안됩니다. 아닌 경우, IllegalArgumentException 발생

실행 결과

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

수동으로 구매할 로또 수를 입력해 주세요.
3

수동으로 구매할 번호를 입력해 주세요.
8, 21, 23, 41, 42, 43
3, 5, 11, 16, 32, 38
7, 11, 16, 35, 36, 44

수동으로 3장, 자동으로 11개를 구매했습니다.
[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]
[23, 25, 33, 36, 39, 41]
[1, 3, 5, 14, 22, 45]
[5, 9, 38, 41, 43, 44]
[2, 8, 9, 18, 19, 21]
[13, 14, 18, 21, 23, 35]
[17, 21, 29, 37, 42, 45]
[3, 8, 27, 30, 35, 44]

지난 주 당첨 번호를 입력해 주세요.
1, 2, 3, 4, 5, 6
보너스 볼을 입력해 주세요.
7

당첨 통계
---------
3개 일치 (5000원)- 1개
4개 일치 (50000원)- 0개
5개 일치 (1500000원)- 0개
5개 일치, 보너스 볼 일치(30000000원) - 0개
6개 일치 (2000000000원)- 0개
총 수익률은 0.35입니다.