2014-11-07 90 views
0
int i; 
Scanner scan = new Scanner(System.in) { 
i = scan.nextInt(); 
} 

我想要做的是在用戶輸入字符而不是整數時捕獲掃描儀中的錯誤。我嘗試下面的代碼,但結束調用爲另一個用戶輸入(BEC驗證的唯一數字第一scan.nextInt()之後調用至i分配值另一個scan.nextInt()的。):在分配給int變量前檢查用戶輸入(掃描儀)

int i; 
Scanner scan = new Scanner(System.in) { 

    while (scan.hasNextInt()){ 
    i = scan.nextInt(); 
    } else { 
    System.out.println("Invalid input!"); 
    } 
} 

回答

1

你的邏輯看起來有點不合適,如果它無效,你必須使用一個輸入。另外,你的匿名塊看起來很奇怪。我想你想要類似

+0

我有一個錯誤使用「while(scan.hasNext()謝謝! – 2014-11-07 02:36:31