2014-11-05 73 views
0

當我嘗試使用掃描儀讀取整數時出現錯誤。我正在使用Scanner讀取它,然後將其添加到交換機。讀取整數時出錯

public class Main{ 
    public static void main(String [] args) throws FileNotFoundException 
    { 
     int switchVar = 0; 
     Scanner sc = new Scanner("System.in"); 
     while(switchVar != 5) 
     { 
      System.out.println("op"); 
      switchVar = sc.nextInt(); 
      switch(switchVar) 
      { 
      case 1 : 
      //Data 
      case 2 : 
      //Data 
      } 
     } 
    sc.close(); 
    } 
} 

控制檯錯誤:

Exception in thread "main" java.util.InputMismatchException 
    at java.util.Scanner.throwFor(Unknown Source) 
    at java.util.Scanner.next(Unknown Source) 
    at java.util.Scanner.nextInt(Unknown Source) 
    at java.util.Scanner.nextInt(Unknown Source) 
    at Main.main(Main.java:18) 

線18 switchVar = sc.nextInt();謝謝。

+1

您認爲'new Scanner(「System.in」)'做了什麼,爲什麼? – 2014-11-05 16:52:13

回答

2

您正在掃描String"System.in",而不是系統輸入!

只刪除它周圍的雙引號。

如果您不希望它們通過,請確保您的開關在您的//Data代碼之後有break聲明。