로또 구입 금액을 입력 받고 해당 금액에 맞는 로또를 발행하여 사용자가 구매한 로또 번호와 당첨 번호를 비교, 당첨 내역 및 수익률을 출력하는
-
로또 구입 금액을 1,000원 단위로 입력받는다.
-
금액에 해당하는만큼 1장 당 1,000원인 로또를 발행한다.
-
1,000원으로 나누어 떨어지지 않는 경우 예외를 발생시킨다.
-
로또 발행 시 1~45 사이의 중복되지 않는 6개의 숫자를 발행한다.
-
발행한 로또 수량 및 번호를 출력한다.
-
로또 번호는 오름차순으로 정렬하여 보여준다.
- 당첨번호 6개 & 보너스 번호 1개를 나눠 입력받는다.
- 6개의 숫자는 쉼표(',')로 구분한다.
- 7개의 숫자는 모두 1~45 사이의 중복되지 않는 수로 입력받는다.
- 일치하는 번호의 개수에 따라 당첨 결과를 출력한다.
- 각 등수에 해당하는 로또가 몇 개인지 출력한다.
- 구매 금액 대비 수익률을 출력한다.
- 수익률은 소수점 둘째자리에서 반올림한다.
- 사용자가 잘못된 값을 입력할 경우 IllegalArgumentException을 발생시키고 "[ERROR]"로 시작하는 에러 메시지를 출력 후 그 부분부터 입력을 다시 받는다.
- Exception이 아닌 IllegalArgumentException, IllegalStateException 등과 같은 명확한 유형을 처리한다.