2014-11-24 1 views
0

사용자 입력이 숫자인지 어떻게 확인합니까? 번호는 main 메소드에서 가져온 것이고 다른 메소드의 번호인지 검사됩니다. 입력이 숫자이면 true를 반환하고 그렇지 않으면 false를 반환해야합니다.다른 방법으로 사용자 입력 유효성 확인

public static void main(String[] args) { 
    Scanner sc = new Scanner(System.in); 

    System.out.print("Please, enter a number: "); 
    int number = sc.nextInt(); 

    validateInput(number); 
} 

public static int validateInput(int num) { 
    while(num <= 0) 
     if(!sc.hasNextInt()) 
      System.out.print("INVALID INPUT, Try again..."); 
} 

출력이되어야한다 : 나는 지금까지 무엇을 가지고

Please, enter a number: a 
Invalid input, Try again... 
Please, enter a number: 16 
Valid input, thank you. 
+0

[문자열이 Java에서 정수를 나타내는 지 확인하는 가장 좋은 방법은 무엇입니까?] (http://stackoverflow.com/questions/237159/whats-the-best-way-to-check- to-a-string-as-an-in-java) – APerson

+0

입력이 int가 아닐 때마다'sc.nextInt()'를 호출하면 예외가 발생합니다. –

답변

0

로직에서 강력한 일관성이있다. 당신은 숫자를 물어 보는 중입니다. 그리고 그것을 비교하고 싶은 것이 있습니까? 이 정수 범위 내에서의 같은이 문장은만큼 사실 일 것이다

while(num <= 0) 
     if(!sc.hasNextInt()) 
      System.out.print("INVALID INPUT, Try again..."); 

당신이 하나가 하나 개의 숫자를하라는 메시지가 무작위로 다음 숫자를 생성하여 또는 하나를 추측하여 달성하고자하는 것을 검토 할 수 있다면 더 좋을 것이다 그것을 추측하려고 노력하십시오.

관련 문제