Scanner类中的nextLine方法不接受输入(Java)

时间:2011-10-27 03:08:32

标签: java newline java.util.scanner

这是我的代码:

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)

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

用Google搜索“nextLine”时

Here is the first result on Google