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

[로또 게임] 김동하 과제 제출합니다 #4

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

Conversation

d11210920
Copy link

No description provided.

Copy link
Collaborator

@sunwootest sunwootest left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DTO와 VO에 대해서 알아보면 좋을 것 같습니다. 값에 대한 정보만 가진 클래스를 이용해서 다른 클래스의 메소드에서 처리를 해줄 수도 있습니다.

예외처리 방식이 부자연스러운데 리뷰드린 내용으로 먼저 수정해봅시다.

메소드 안에서 객체를 생성하는 경우가 많습니다. 클래스 간의 의존관계로 해결할 수는 없을지 고민하면서 클래스 설게를 해봅시다.

Comment on lines +3 to +12
public class CheckCharException {
public void checkCharException(String input){
for(int i = 0; i < input.length(); i++){
if(input.charAt(i) >= '0' && input.charAt(i) <= '9'){
continue;
}
throw new IllegalArgumentException("[ERROR]숫자만 입력하세요.");
}
}
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

예외라는 것을 표현해주기 위해서는 특정 Exception을 상속해주는 것이 나아보입니다.

IllegalArgumentException을 상속받고 해당 예외처리 할 때 IllegalArgumentException으로 예외전환 해주는 것은 어떤가요?

Comment on lines +15 to +17
public LottoGame(){

}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

없어도 정상적으로 동작하네요 :)

Comment on lines +10 to +14
public BuyMoney(){
System.out.println("구입 금액을 입력해 주세요.");
inputBuyMoney = Console.readLine();
CheckCharException checkCharException = new CheckCharException();
checkCharException.checkCharException(inputBuyMoney);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

예외처리 방법이 부자연스럽습니다. 외부의 검증 클래스를 사용하려면 필드로 선언하는 편이 자연스러워 보이네요. 클래스명에 Exception을 사용하면 예외의 종류로 오해할 수 있어 보입니다.

Comment on lines +16 to +18
if(buyMoney % 1000 != 0){
throw new IllegalArgumentException("[ERROR]1000원 단위로 입력해 주세요.");
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0원은 검증하지 못하네요

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

에러 로직과 0원 검정 수정했습니다

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.

2 participants