读取整数时出错

时间:2014-11-05 16:51:44

标签: java

当我尝试使用扫描仪读取整数时出现错误。我使用扫描仪读取它然后将其添加到交换机。

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 个答案:

答案 0 :(得分:2)

您正在扫描String "System.in",而不是系统输入!

只需删除它周围的双引号即可。

如果您不希望它们落后,请确保您的break代码后面有//Data个语句。