这是我的代码:
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)
答案 0 :(得分:2)
我认为您应该使用String
类型作为电话号码,而不是int
。它会给你一些数字不匹配的异常。在这种情况下,使用String
会更合适。
System.out.println("Please enter a corresponding phone number");
String tempNum = keyboard.nextLine();
答案 1 :(得分:0)