2011-11-17 113 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

相关问题