不了解Scanner的不匹配/抛出错误

问题描述 投票:-2回答:2

我正在建立一个简单的月份计划。我在其他任务中设置了扫描仪,但扫描仪这次没有工作。我遇到了多个我不理解的错误。

我已经复制并粘贴了其他任务,我没有收到他们的错误,而且非常简单,所以我看不出有什么东西搞砸了。

import java.util.Scanner;

public class H3_ken {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);
        int month;
        int year;

        System.out.println("Enter what month you would like to look up: ");
        month = input.nextInt();
        System.out.println("Enter what year: ");
        year = input.nextInt();

        System.out.println("You have chosen to look up the month of " + month + " in the year of " + year + ".");

    }

}

这是进入月份的输出。

Enter what month you would like to look up: 
January
Exception in thread "main" java.util.InputMismatchException
    at java.base/java.util.Scanner.throwFor(Scanner.java:939)
    at java.base/java.util.Scanner.next(Scanner.java:1594)
    at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
    at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
    at H3_ken.main(H3_ken.java:12)
java
2个回答
2
投票

如果您确实想要输入1月,则需要一个字符串

String month = input.nextLine();

-2
投票

如果输入两个由至少一个空格分隔的int值,则此代码可正常工作!

可能你有年和月之间的符号(除了空间)

© www.soinside.com 2019 - 2024. All rights reserved.