-
Notifications
You must be signed in to change notification settings - Fork 8
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
base: main
Are you sure you want to change the base?
Conversation
…tion when input char type
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DTO와 VO에 대해서 알아보면 좋을 것 같습니다. 값에 대한 정보만 가진 클래스를 이용해서 다른 클래스의 메소드에서 처리를 해줄 수도 있습니다.
예외처리 방식이 부자연스러운데 리뷰드린 내용으로 먼저 수정해봅시다.
메소드 안에서 객체를 생성하는 경우가 많습니다. 클래스 간의 의존관계로 해결할 수는 없을지 고민하면서 클래스 설게를 해봅시다.
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]숫자만 입력하세요."); | ||
} | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
예외라는 것을 표현해주기 위해서는 특정 Exception을 상속해주는 것이 나아보입니다.
IllegalArgumentException
을 상속받고 해당 예외처리 할 때 IllegalArgumentException
으로 예외전환 해주는 것은 어떤가요?
public LottoGame(){ | ||
|
||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
없어도 정상적으로 동작하네요 :)
public BuyMoney(){ | ||
System.out.println("구입 금액을 입력해 주세요."); | ||
inputBuyMoney = Console.readLine(); | ||
CheckCharException checkCharException = new CheckCharException(); | ||
checkCharException.checkCharException(inputBuyMoney); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
예외처리 방법이 부자연스럽습니다. 외부의 검증 클래스를 사용하려면 필드로 선언하는 편이 자연스러워 보이네요. 클래스명에 Exception을 사용하면 예외의 종류로 오해할 수 있어 보입니다.
if(buyMoney % 1000 != 0){ | ||
throw new IllegalArgumentException("[ERROR]1000원 단위로 입력해 주세요."); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
0원은 검증하지 못하네요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
에러 로직과 0원 검정 수정했습니다
No description provided.