Giter Club home page Giter Club logo

java-lotto's Introduction

로또

진행 방법

  • 로또 요구사항을 파악한다.
  • 요구사항에 대한 구현을 완료한 후 자신의 github 아이디에 해당하는 브랜치에 Pull Request(이하 PR)를 통해 코드 리뷰 요청을 한다.
  • 코드 리뷰 피드백에 대한 개선 작업을 하고 다시 PUSH한다.
  • 모든 피드백을 완료하면 다음 단계를 도전하고 앞의 과정을 반복한다.

온라인 코드 리뷰 과정

기능 구현 목록

구입 금액을 입력 받는다.(money)

  • 구입 금액을 저장한다.
  • 돈이 음수이면 에러발생.

로또의 숫자를 저장할 객체를 생성한다.(lottoNumber)

  • 로또 숫자[1-45] 하나를 저장한다.
  • 1-45이외의 값이 들어오면 Exception을 일으킨다.
  • 로또의 숫자를 비교한다.

로또를 저장할 객체를 생성한다. (lotto)

  • 로또를 저장한다.
  • 로또는 6개여야한다.
  • 하나의 로또 숫자와 로또를 비교한다.
  • 로또와 로또를 비교한다.

로또번호의 상태를 저장할 객체를 생성한다. ( lottoNumberStatus)

  • 로또번호는 CORRECT, WRONG의 상태로 존재한다.

로또의 서비스 코드를 생성한다. (lottoStore)

  • 각 로또가 맞은 등수를 반환한다.

로또의 등수를 저장할 객체를 생성한다. (lottoRank)

  • 로또의 등수를 저장한다. ( FIRST , SECEND, THIRD, FOURTH, NOTHING )
  • 로또의 맞춘 개수로 등수를 계산한다.
  • 로또의 등수에 따라 금액을 반환한다.

로또를 여러개 담을 객체를 생성한다. (lottos)

  • 로또들을 저장한다.
  • 1개 이상이 포함되어야 한다.
  • 현재 가지고 있는 로또를 로또하나와 비교한다.

최종 결과를 산출할 객체를 생성한다. (playResult)

  • 구매한 돈을 저장한다.
  • 받은 결과를 반환한다.

  • InputView

    • "구입금액을 입력해 주세요."문구를 출력한다.
    • 구입 금액을 입력한다.
    • "XX개를 구매했습니다."문구를 출력한다.
    • 당첨번호를 6개를 입력받는다.
      • 6개는 "X, X, X, X, X, X"형태로 입력받는다.
      • 당첨번호는 겹치지 않아야 한다.
      • 당첨번호는 [1-45]까지의 숫자이다.
  • ResultView

    • 구입 갯수만큼 출력한다.
      • 로또번호 6개를 [X, X, X, X, X, X] 형태로 출력한다.
      • 구입 개수만큼 반복하여 출력한다.
      • 당첨번호는 숫자가 정렬되어 있다.
    • "지난 주 당첨 번호를 입력해 주세요." 문구를 출력한다.
    • 당첨 통계를 출력한다.
      • "당첨통계\n---------"를 출력한다.
      • 일치한 결과를 출력한다.
        • 3개 일치 (5000원)- 1개
          4개 일치 (50000원)- 0개
          5개 일치 (1500000원)- 0개
          6개 일치 (2000000000원)- 0개
      • 수익률을 출력한다.
        총 수익률은 0.35입니다.(기준이 1이기 때문에 결과적으로 손해라는 의미임)
        ⇒ 의 형태로 출력

java-lotto's People

Contributors

javajigi avatar

Watchers

James Cloos 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.