Метод nextLine в классе Scanner не принимает ввод (Java) - PullRequest
0 голосов
/ 27 октября 2011

Вот мой код:

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 ]

2 голосов
/ 27 октября 2011

Я думаю, вы должны использовать тип String для телефонных номеров, а не int. Это даст вам несоответствие исключений с определенными числами. В этом случае использование String было бы более уместным.

System.out.println("Please enter a corresponding phone number");
String tempNum = keyboard.nextLine();
0 голосов
/ 27 октября 2011
...