2011-11-17 87 views
1

我的任務是創建一個基本的聯繫人列表程序,可以讓用戶聯繫人列表程序

  1. 輸入一個新的聯繫人,
  2. 打印的聯繫人列表,
  3. 檢索按姓氏進行接觸,
  4. 電子郵件和
  5. 檢索特定郵政編碼中的聯繫人。

我的想法是創建3類:

Main()Contact()ContactList()。我會繼續讓main()處理菜單和邏輯。 Contact()將是我爲每個聯繫人實例化的類對象。 ContactList()將是定義Contact對象數組的類,並定義輸入和檢索信息的方法。

問題是我不知道如何去做這件事。我的方法是否會在上面說明?我不太清楚如何去做這件事,任何建議和想法將不勝感激。

+0

現在編輯此職位。請看看我上面列出的問題。 – Marimon

+0

我相信這應該是一個單獨的問題。 – jmoreno

+0

@jmoreno,如果你的意思是我應該通過說另外一個問題來創建另一個話題,我已經這麼做了,並且因爲「轉發」而關閉了我的話題 – Marimon

回答

-1

我會對你ContactList實現一個泛型列表

public class ContactdList implements List<Contact> 

但是,是的,這聽起來像它會工作。我假設這是一堂課,你不想太過於教師要求/教授的東西。

+0

沒有意義創建一個新的列表實現,那麼'public class ContactList extends ArrayList '? – jornb87

+0

@ jornb87:這也可以,但是將你綁定到ArrayList。如果你決定你想要一個LinkedList呢?當然,在這種情況下這是不太可能的,所以也許我正在過度考慮它... – jmoreno

+0

這兩個實現相同的接口,所以它將是一個簡單的重構,無論如何,對吧?你可以參數化Java中的類來實現參數列表中的類型嗎?我不太瞭解Java中的泛型。 –

0

我將有ContactList只有HABE所需的方法,使意義:

interface ContactList { 
    void add(Contact) 
    List<Contact> getList() 
    Contact getContactByLastName(String) 
    Contact getContactByEmail(String) 
    Contact getContactByZipCode(String) 
} 

那麼你就可以實現與該接口,可以說,一個使用ArrayList<Contact>爲後盾對象的ContactArrayList

1

這是我的想法,有一些僞代碼可以幫助。

下面的類是根據需求構成聯繫人的基本實現。我選擇使用String字段,因爲這只是一個作業問題,不需要額外的工程。

public class Contact 
    { 
     private String firstName; 
     private String lastName; 
     private String email; 
     private String zipCode; 
     public Contact() 
     { 
      //initialize all variables to empty string 
     } 

     public Contact(String firstName,String lastName, String email, String zipCode) 
     {  
      //Use this.variableName to set values 
     } 
     //getters/setters 
    }  



    public class Assignment1 //Or whatever assignment number this is == Main() 
    {  

     List<Contact> contacts; 
     public static void main(String[] args) 
     {  
      //Retrieve user input 
      // Execute rest of program 
     } 

     void printContacts(List<Contact> contacts) 
     { 
      foreach(Contact in contacts) 
      { 
       print(Contact.toString()); 
      } 
     } 

     Contact getContactByLastName(String lastName) 
     { 
      foreach(Contact in contacts) 
      { 
       if(Contact.lastName == lastName) 
         return Contact; 

      } 
       else 
        Contact does not exist 
     }  

     void addContact(Contact contact) 
     { 
      contacts.add(contact);  
     } 


    } 
+0

嘿,謝謝你的幫助。你能看看我上面的代碼嗎? – Marimon

相關問題