✅ 입출력
- 로또 구입 금액 입력(1000단위) ✅
- 당첨 번호 입력 ✅
- 보너스 번호 입력 ✅
- 발행한 로또 개수 출력 ✅
- 결과 출력
✅ 전처리
- 당첨 번호 쉼표 기준 구분(앞 뒤로 공백제거, 숫자로 변환) ✅
- 발행한 로또 개수 구하기 ✅
✅ 1등 ~ 5등 검사
- (로또 개수만큼) 중복되지 않는 숫자 6개 뽑기, 오름차순 정렬 ✅
- 1등 조건 검사, 개수 카운트 ✅
- 2등 조건 검사, 개수 카운트 ✅
- 3등 조건 검사, 개수 카운트 ✅
- 4등 조건 검사, 개수 카운트 ✅
- 5등 조건 검사, 개수 카운트 ✅
✅ 수익률 계산
- 수익률 계산 (벌어들인 금액/구매 금액), 소수점 둘째 자리 반올림 ✅
✅ 예외처리
- 입력 오류 : 입력 금액이 1000으로 나누어 떨어지지 않는 경우 ✅
- 입력 오류 : 로또 구매 금액이 숫자가 경우 ✅
- 입력 오류 : 숫자가 아니거나, 쉼표가 아닌 것이 입력된 경우 ✅
- 입력 오류 : 숫자가 중복되는 경우 ✅
- 입력 오류 : 로또 번호가 범위를 벗어나는 경우 ✅
- 입력 오류 : 로또 번호가 6개가 아닌 경우 ✅
- 입력 오류 : 보너스 번호가 이미 입력한 번호와 중복되는 경우 ✅
- 입력 오류 : 보너스 번호가 숫자가 아닌 경우 ✅
- Lotto 클래스 : 입력된 로또 번호 검증 및 관리
- LottoGame 클래스 : 게임진행, 로또발행, 당첨내역, 예외처리
- App 클래스 : 입출력 담당
-
App 로또 금액 입력받기 -> LottoGame 로또 금액만큼 로또 발행 요청 -> Lotto 로또 발행 (외부에서 수정 불가) -> LottoGame 발행된 로또 저장 -> App 로또출력
-
App 로또 번호, 보너스 입력받기 -> LottoGame 로또 번호 전처리(,제거) -> Lotto 유저 로또 검증, 발행 -> LottoGame 유저 로또 저장 -> LottoGame 로또 번호 당첨 여부 카운트 -> App 당첨여부출력