【问题标题】:nextLine method in Scanner class not accepting input (Java)Scanner 类中的 nextLine 方法不接受输入(Java)
【发布时间】:2011-10-27 03:08:32
【问题描述】:

这是我的代码:

for (int arrayIndex = 0; arrayIndex < 5; arrayIndex++)
    {

        PhoneBookEntry PhoneBook = new PhoneBookEntry();
        System.out.println("Please enter a name");
        tempName = keyboard.nextLine();
        PhoneBook.setName(tempName);
        System.out.println("Please enter a corresponding phone number");
        tempNum = keyboard.nextInt();
        PhoneBook.setPhoneNum(tempNum);

        EntryList.add(PhoneBook);

    }

显然第二次尝试 nextLine 方法有问题。我该如何解决这个问题?我不允许为此使用扫描仪以外的任何课程。

谢谢

编辑:它给出的错误是一个例外:

Exception in thread "main" java.util.InputMismatchEx
        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 PhoneBookApp.main(PhoneBookApp.java:39)

【问题讨论】:

  • 你还没有说问题是什么......一个错误?例外?意外行为?没有一些细节很难回答你的问题。
  • 它给出的错误是异常。我编辑了问题以显示它。

标签: java newline java.util.scanner


【解决方案1】:

我认为您应该使用String 类型的电话号码而不是int。它会给你与某些数字不匹配的例外。在这种情况下,使用String 会更合适。

System.out.println("Please enter a corresponding phone number");
String tempNum = keyboard.nextLine();

【讨论】:

  • 非常感谢!将 nextLine 与 nextInt 混合和匹配是导致问题的原因!
【解决方案2】:

Here is the first result on Google 在谷歌搜索“nextLine”时

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-24
    相关资源
    最近更新 更多