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

[로또] 김이원 미션 제출합니다. #89

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

Conversation

gixxla
Copy link

@gixxla gixxla commented Nov 4, 2024

No description provided.

gixxla added 13 commits November 4, 2024 05:37
- 안내 문구 출력
- 구입 금액이 1,000으로 나누어 떨어지지 않으면 IllegalArgumentException 발생
- 올바른 금액이 입력될 때까지 위 과정 무한 루프
- 구입 개수 안내 문구 출력
- 입력한 금액만큼의 랜덤 Lotto 객체를 생성
- 생성한 Lotto 객체들의 numbers 변수를 출력
- 안내 문구 출력
- 입력한 번호가 형식에 맞지 않을 경우 IllegalArgumentException 발생
- 올바른 형식의 번호가 입력될 때까지 위 과정 무한 루프
- 안내 문구 출력
- 입력한 번호가 형식에 맞지 않을 경우 IllegalArgumentException 발생
- 올바른 형식의 번호가 입력될 때까지 위 과정 무한 루프
- 구매 번호, 당첨 번호, 보너스 번호를 대조하여 당첨 내역을 ArrayList에 저장
- 저장한 ArrayList에서 각 등수를 count하여 결과로 출력
- 저장한 구매 금액과 당첨 내역을 사용하여 수익률 계산 후 출력
- 수익률은 소수점 둘째 자리에서 반올림한다.
전체 코드 리팩토링 진행
- 변수명 수정
- 에러 메세지 수정
- 로또 구입 금액에 문자열 입력 시 예외 발생 기능 추가
- 보너스 번호에 문자열 입력 시 예외 발생 기능 추가
- 일부 에러 메세지 표현 수정
- 각 리스트의 같은 인덱스끼리 비교하는 로직에서 각 리스트의 전체 인덱스를 비교하는 로직으로 수정
- 기존 함수명 checkLotto -> countMatchedLotto로 변경, checkLotto 함수 새롭게 추가
- Lotto 클래스가 생성될 때 입력된 숫자 리스트 중 중복된 숫자가 있을 시 예외 발생 기능 추가
- Lotto 클래스에서 자체적으로 로또 번호 범위를 검사하여 예외 처리하도록 수정
가능한 상황의 모든 예외 테스트 추가
- 로또 객체를 생성할 때, 로또 번호의 크기가 지정한 범위를 벗어난 경우
- 구입 금액을 1,000원 단위로 입력하지 않았을 경우
- 구입 금액에 정수가 아닌 문자열을 입력했을 경우
- 당첨 번호에 쉼표가 아닌 다른 문자열을 구분자로 입력했을 경우
- 보너스 번호의 크기가 지정한 범위를 벗어난 경우
- 보너스 번호에 정수가 아닌 문자열을 입력했을 경우

- 이외에 용이한 테스트를 위하여 getWinningLotto() 함수 수정
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