Java - java.util.InputMismatchException

标签 java

我想做的是允许用户输入名字和姓氏。允许用户输入名字,没有任何问题,但是一旦按下空格并输入姓氏,就会出现标题中提到的错误。

    public static void main(String args[])
    {
        Scanner sc = new Scanner(System.in);
        int choice, 
        String name, stuNum;

        do
        {   
            System.out.println("");
            System.out.println("Student Grade System");
            System.out.println("----------------------\n");
            System.out.println("   1) Enter student details");
            System.out.println("   2) Display student grades");
            System.out.println("   3) Display student statistics");
            System.out.println("   4) Display full transcript");
            System.out.println("   0) Exit System\n");
            System.out.print("Select an option [0-4] >> ");
            choice = sc.nextInt();
            System.out.println("");

            switch(choice)
            {
                case 1:
                System.out.println("Entering Student Details");
                System.out.println("------------------------");
                System.out.print("   Student name:                               ");
                name = sc.next(); //somewhere here it messes up
                System.out.print("   Student number:                             ");
                stuNum = sc.next();
            }
         }while(choice !=0);
}

这是我的代码的最低限度,因为我刚刚开始编写它,但这个问题阻止了我进一步编写。我已经尝试过使用 sc.nextLine();并将变量 StuNum 更改为 int 变量。两者都不起作用。它给出的完整错误如下:

java.util.InputMismatchException 在 java.util.Scanner.throwFor(Scanner.java:840) 在 java.util.Scanner.next(Scanner.java:1461) 在 java.util.Scanner.nextInt(Scanner.java:2091) 在 java.util.Scanner.nextInt(Scanner.java:2050) 在 Project.main(Project.java:40)

最佳答案

使用 next() 只会返回空格之前的内容。这意味着它不会消耗空格。但是 nextLine() 在返回当前行后会自动向下移动扫描仪。 因此,只需在代码中将 next() 替换为 nextline() 即可。

关于Java - java.util.InputMismatchException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26719830/

相关文章:

java - 使用线程池时出现错误 FutureTask@2c7b84de 被拒绝

java - 当 String 作为键时,什么会导致 HashMap containsKey() 失败?

java - 点击后将 GridView 项目添加到其他 GridView

java - 与 "ejb"和 "jar"相同的依赖关系——会发生什么?

java - SSL异常 : Received fatal alert: handshake_failure

TSP、OCSP 和 CMS 的 Java 实现

java - JSpinner 的 JButton 到 ImageIcon

java - 从 session 变量中删除特定变量

java - Java 中如何抛出 MalformedURLException

Java Swing - 空布局 - 如何设置组件的 Z 索引?