FireDrago

[JAVA] 입력받고 유효성 검사하기 본문

프로그래밍/Java

[JAVA] 입력받고 유효성 검사하기

화이용 2023. 7. 15. 10:39

자바 플레이 그라운드 미션수행중 

 

세자리 수를 입력받고 , 유효성 검사하는 메서드를 작성했다.

 

먼저 입력 받는 메서드부터 살펴보자

 

public class NumberBaseball {
	private String userNumber;
    
    //입력받기
    public void inputUserNumber() {
        boolean isValid = false;
        while (!isValid) {
            System.out.println("세자리 숫자를 입력해주세요");
            String input = new Scanner(System.in).nextLine();
            isValid = validateUserNumber(input);
            if (!isValid) {
                System.out.println("올바른 숫자를 입력해주세요");
            }
            this.userNumber = input;
        }
    }
    
    //유효성 검사
    private boolean validateUserNumber(String input) {
        if (input.length() != 3) {
            return false;
        }
        try {
            int userNumber = Integer.parseInt(input);
            return true;
        } catch (Exception e) {
            return false;
        }
    }
}

입력받은 값이 틀릴 수 있으므로 while 반복문을 통해 올바른 값이 나올때 까지 반복실행한다.

 

반복조건은 유효성검사 validateUserNumber 가 true (통과) 했다고 선언할때 까지이다.

 

유효성 검사 메서드 에서는 

  1. 세자리 숫자인지 먼저 확인 아니면 false
  2. Integer.parseInt( ) 메서드를 통해 예외가 발생한다. - > 숫자 아닌값이 포함되어 있다.
    --> 예외처리를 사용해 false 리턴
  3. 문제없이 int 변환 된다면 true 리턴 --> 전역변수 userNumber에 입력되고, 반복문 종료
    메서드 종료