기능 요구사항
- 구입금액을 입력받는다.
- (예외) 1000원 이하 단위일 경우
- (예외) 숫자가 아닐 경우
- (예외) 음수 또는 50000원 이상 입력될 경우
- 구매한 로또 장 수와 번호를 출력한다.
- 지난 주 당첨 번호를 입력받는다.
- (예외) 1~45 이외의 숫자가 입력되는 경우
- (예외) 올바른 입력 형식이 아닌 경우
- (예외) 6개가 아닌 경우
- (예외) 공백이 입력되는 경우
- 보너스 볼을 입력받는다.
- (예외) 위와 동일
- 당첨 번호를 대조해서 결과를 얻는다.
- 당첨 통계와 수익률을 출력한다.
프로그래밍 요구사항
- indent(인덴트, 들여쓰기) depth를 2단계에서 1단계로 줄여라.
- else를 사용하지 마라.
- 메소드의 크기가 최대 10라인을 넘지 않도록 구현한다.
- 배열 대신 ArrayList를 사용한다.
- enum을 적용해 프로그래밍을 구현한다.
- 규칙 3: 모든 원시값과 문자열을 포장한다.
- 규칙 5: 줄여쓰지 않는다(축약 금지).
- 규칙 8: 일급 콜렉션을 쓴다.