2014-11-05 6 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

Что вы думаете, 'новый сканер (« System.in »)' делает и почему? –

ответ

2

Вы сканируете String"System.in", а не системный ввод!

Просто удалите двойные кавычки, окружающие его.

Также убедитесь, что у вашего коммутатора есть break операторов после вашего кода //Data, если вы не хотите, чтобы они проваливались.

Смежные вопросы