2014-09-30 37 views
0

我試圖將字符串名稱,長phoneNumber和字符串評論添加到聯繫人對象,然後將其放入對象數組中。如何將值和字符串輸入到類對象中?獲取NullPointerException

public class VectorOfContacts implements ProjTwo 
{ 
    Contact[] contacts; 
    public void addContact(Contact c) 
    { 

      if(isFull()); 
      incrementCapacity(); 
      size++; 
      String name = ""; 
      long number = 0; 
      String comment = ""; 
      c.setName(name); 
      c.setPhoneNumber(number); 
      c.setComment(comment); 
      for (int i = 0; i < contacts.length; i++) 
      { 
       if (contacts[i] == null) 
       { 
        contacts[i] = c; 
       } 
      } 
      System.out.println("Added to input"); 

    } 
} 

但是,我得到一個NullPointerException從c.setName(name)開始。

+0

確保您將Contact類的有效實例傳遞給addContact方法。 – Renjith 2014-09-30 17:10:30

+0

stacktrace或gtfo; D – user2504380 2014-09-30 17:12:43

+3

'if(isFull()); // < - - 分號終止塊 – 2014-09-30 17:13:10

回答

1

您沒有將聯繫人實例傳遞到方法中。這很可能是你這樣做的:

Contact c; 
... 
addContact(c); 

在這種情況下,實際上是將null傳遞給addContact方法。您需要這樣的代替:

Contact c = new Contact(); 
... 
addContact(c); 
0

我假設的聯繫方法「的setName」只是做到這一點:

public void setName(String name){ 
    this.name = name; 
} 

如果是這樣的話,那麼C,必須爲空。這意味着問題出現在調用'addContact(Contact c)'的方法中。不知何故,它傳遞一個空參數。

相關問題