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

[로또] 김정근 미션 제출합니다. #80

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

Conversation

rungeun
Copy link

@rungeun rungeun commented Nov 4, 2024

기능 구현 목록

View

입력

  • 구입 금액 입력
  • 당첨번호 입력
  • 보너스번호 입력

출력

  • 구입 금액 입력 가이드
  • 당첨번호 입력 가이드
  • 보너스번호 입력 가이드
  • 당첨 내역 출력
    • 일치 개수
  • 소수점 둘째 자리에서 반올림하여 수익률 출력

예외 사항

  • 1000원으로 나누어 떨어지지 않는 경우 예외 처리
  • 입력금액 오버플로우
  • 정수 이외의 값이 들어오면 예외처리
  • 로또 번호가 1~45 사이 값이 아닐경우 예외 처리
  • 당첨 번호 및 보너스 번호를 중복하여 받은 값이 있다면 예외 처리
  • 당첨번호 입력 형식이 틀렸을 경우 예외 처리

Model

번호 생성

  • 반복 횟수 만큼 랜덤 수 6개 생성

당첨 내역 계산

  • 비교 하여 당첨 총 담청 금액 계산
  • 총 수익률 계산

상수

  • 입력 가이드
    • "구입금액을 입력해 주세요."
    • "개를 구매 했습니다."
    • "당첨 번호를 입력해 주세요."
    • "보너스 번호를 입력해 주세요."
  • 당첨 내역
    • "당첨 통계"
    • "---"
  • 당첨 금액
    • "5,000"
    • "50,000"
    • "1,500,000"
    • "30,000,000"
    • "2,000,000,000"
  • 수익률
    • "총 수익률은"
    • "%입니다."
  • 예외 처리 출력문

Controller

  • 반복 횟수 입력 호출
  • 번호 생성 호출
  • 번호 생성 출력 호출
  • 당첨 번호 입력 호출
  • 보너스 번호 입력 호출
  • 예외가 발생 했을 경우, 예외 발생 지점 부터 다시 입력 받음
  • 당첨 내역 계산 호출
  • 당첨 통계 출력 호출

프로그래밍 요구 사항

  • indent depth를 3이 넘지 않도록 한다.
  • 함수가 한 가지 일만 하도록 만든다.
  • else를 지양한다.
  • Enum 클래스를 적용한다.
  • 구현한 기능에 대한 단위 테스트를 작성한다.

- 기능 목록 및 요구 사항 작성
- 원격 저장소에 불필요한 클래스와 백업 파일 깃 관리에서 제외
- 입력만 받도록 설계
- 출력 기능만 하는 오브젝트 추가
- 구입 금액 입력값 검증 및 재입력
- 예외 검증 분리
- 예외 출력문 상수 분리
- 생성자에서 예외를 잡도록 수정
- 금액을 반복 횟수로 변환
- 반복 할 수 있도록 준비
- 예외가 발생하지 않을때 까지 반복
- 컨트롤러에서 뷰 출력 호출
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