2011-10-27 66 views
0

這裏是我的代碼:nextLine方法

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

你還沒有說過問題是什麼......一個錯誤?一個例外?意外的行爲?沒有一些細節就很難回答你的問題。 –

+0

它給出的錯誤是一個例外。我編輯了這個問題來展示它。 – Johnny

回答

2

時,我認爲你應該使用一個String類型的電話號碼,而不是一個int。它會給你與某些數字不匹配的例外。在這種情況下使用String會更合適。

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

非常感謝!將nextLine與nextInt混合並匹配是造成問題的原因! – Johnny