Giter Site home page Giter Site logo

java-lotto's Introduction

로또 미션 저장소

프로그램 실행 흐름

  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입니다.

java-lotto's People

Contributors

pobiconan avatar sinb57 avatar woowahan-pjs avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.