Java 读取整数时出错

Java 读取整数时出错,java,Java,当我试图用扫描器读取整数时出错。我正在使用扫描仪读取它,然后将其添加到交换机 public class Main{ public static void main(String [] args) throws FileNotFoundException { int switchVar = 0; Scanner sc = new Scanner("System.in"); while(switchVar != 5) {

当我试图用扫描器读取整数时出错。我正在使用扫描仪读取它,然后将其添加到交换机

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();谢谢。

您正在扫描
字符串
系统。在“
中,不是系统输入

只需删除它周围的双引号


如果您不想让开关的
//数据
代码失效,请确保开关的
break
语句位于
//数据之后

你认为新的扫描仪(“System.in”)
有什么作用?为什么?