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

[로또] 배현진 미션 제출합니다. #170

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

Conversation

pearhyunjin
Copy link

UI

  • 로또 구입 문구 출력
  • 로또 구입 금액 입력 (1,000원 단위)
  • 구매한 로또 개수 출력
  • 구매한 로또 번호 위 개수 만큼 출력
  • 당첨 번호 입력 (중복 없이 6개 숫자, 1~45 범위, 쉼표로 구분)
  • 보너스 번호 입력 (1개 숫자, 1~45 범위)
  • 당첨 내역 출력
    • 당첨 통계 문구 출력
    • 로또 번호 수 일치 기준으로 개수 출력 (오름차순 정렬)
    • 수익률 출력 (소수점 둘째 자리 반올림)
  • 예외 상황시 에러 문구 출력 ("[ERROR]"로 시작)

Domain

  • 구매한 로또 금액으로 개수 계산 -> LottoCount
  • 개수 만큼 로또 발행 (각각 6개의 랜덤 값) - LottoMake
  • 사용자 구매 로또 번호와 당첨 번호 비교 - LottoCompare, LottoWinning
  • 수익률 계산 - LottoProfit
  • 에러 문구 출력 후 재입력 진행 - Exception
  • 예외 처리
    • 로또 구입 금액이 1,000원으로 나누어 떨어지지 않는 경우
    • 로또 구입 금액이 숫자가 아닐 경우
    • 로또 구입 금액이 음수일 경우
    • 로또 번호 숫자 범위가 1~45가 아닐 경우
    • 로또 번호가 중복된 경우
    • 로또 번호 개수가 6개가 아닐 경우
    • 로또 번호 쉼표 구분이 아닐 경우
    • 보너스 번호 개수가 1개가 아닐 경우
    • 보너스 번호가 로또 번호와 중복일 경우

add the files(local.properties, class, log and android related files) to gitignore to manage locally
write feature list, programing requirements, progress requirements and feedback in README.md
divide the feature list into UI and domain logic and add exception list
move Lotto class file to lotto.domain package to implement domain and UI(lotto.presentation package) logic separately
create constant file in util package. write required constants(text, number, exception text, separator) in the file.
create LottoPurchaseView and printLottoPurchase() function. print lotto purchase text.
change some const name to make it simple. delete input and output text in name.
create inputLottoPurchase() function and amount val to store input value.
create LottoCount class and calculate() function. get count by dividing amount into certain number(1000) and print it with purchase count text.
create LottoMake class and random lotto numbers as many as the input value
create LottoCompare class and make input function. print lotto winning number and bonus number
add toString() function to modify util name into string. add intersect() function to compare lotto random number and winning number with intersect operation.
edit the function to have return value. edit previous function for simple implementation
create LottoWinning Class and LottoWinningView file.
add new function in Lotto class. edit previous feature to implement bonus lotto number.
implement lotto purchase amount input exception and print this with [ERROR] text
implement lotto number and bonus number exception. print this with [ERROR] text
create 4 test codes
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