2012-12-15 211 views
-2

我不是爲什麼我得到這個異常! 我的方法很簡單,將循環來填補我的並行陣列 這裏是我的方法掃描儀和nullPointerException

public void fillPhoneBook(){ 
    Scanner in = new Scanner(System.in); 
    for(int i=0;i<this.names.length;i++){ 
     System.out.println("Enter Name:"); 
     this.names[i] =in.next(); 
     System.out.println("Enter Phone Number:"); 
     this.telephones[i]=in.next();//here start rising exception 
    } 
    in.close(); 

我得到這個例外第二輸入之後!`

--- UPDATE ---

對不起,問題是初始化電話陣列

+0

你在哪裏初始化數組你?特別是'電話'陣列? –

+1

請填寫您的完整課程代碼。 –

+0

我已經初始化構造函數 – Hamoudaq

回答

1

我已經創建了與你解釋的相同的場景,但奇怪的是我n沒有得到任何這樣的例外。請看看下面的代碼

public class TestScanner { 
    String names[] = new String[10]; 
    String telephones[] = new String[10]; 

    public static void main(String a[]) { 

     TestScanner p = new TestScanner(); 

     Scanner in = new Scanner(System.in); 
     for (int i = 0; i < p.names.length; i++) { 
      System.out.println("Enter Name:"); 
      p.names[i] = in.next(); 
      System.out.println("Enter Phone Number:"); 
      p.telephones[i] = in.next();// here start rising exception 
     } 
     in.close(); 

    } 
} 

輸出

Enter Name: 
test1 
Enter Phone Number: 
123456 
Enter Name: 
test2 
Enter Phone Number: 
456789 
Enter Name: 
+0

我認爲他沒有正確初始化它。那就是你在本地做的。 – Zhedar

+0

那就是我寫的代碼的評論,請寫完整的代碼,以便我們可以解決問題。 –