- 중복되지 않은 랜덤한 숫자 5개로 로또 생성
- 로또 번호가 주어지면 수동으로 해당 번호 로또 생성
- 로또 번호가 주어지지 않으면 자동으로 랜덤 번호 생성
- 총 5개의 중복되지 않는 숫자로 이루어졌는지 검증
- 각 숫자 범위 및 정수 검증 (1~30)
- 구입 금액 만큼 로또 발행
- 구입 금액 기준 구매할 로또 수 계산
- 정수가 맞는지 검증
- 로또 가격(500)으로 나누어 떨어지지 않는 경우 검증
- 구입 금액 기준 구매할 로또 수 계산
- 구매 내역 출력
- 당첨 및 보너스 번호 입력
- 입력받은 번호 검증
- 당첨 통계 계산
- 일치하는 번호 개수에따라 결과 계산
- 수익률 계산
- 당첨 통계 기반 총 당첨 금액 계산
- 구입금액이용해 수익률 계산
- 수익금이 매우 커지는 경우 정수 오버플로우 예외처리
- 리펙터링으로 객체별 책임과 예외처리
- 유지보수 쉽도록하고 중복된 코드 최소화
- 추가기능
- 잔돈 반환 출력
- 수익률 계산