2014-11-24 68 views
0

如何驗證,如果用戶輸入是多少?該數字來自主方法,並且檢查它是否是另一種方法中的數字。如果輸入是一個數字,它應該返回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-到看到-IF-A-字符串表示-的整數式-java的) – APerson 2014-11-24 23:04:11

+0

調用'sc.nextInt()'每當輸入不是int將拋出異常。 – 2014-11-24 23:19:00

回答

0

有一個在你的邏輯強大的不一致性。你在提示一個號碼,以及你想與之比較什麼?因爲它是整數的範圍內,本聲明將是隻要真正

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

它會更好,如果你可以查看你想要的任何提示一個號碼,並通過隨機,然後產生一些猜測它或要麼達到什麼嘗試猜測它。