【问题标题】:Creating an addContact() method that will create unique contacts each time创建一个 addContact() 方法,每次都会创建唯一的联系人
【发布时间】:2012-09-16 17:24:46
【问题描述】:

一个学校作业(Java 初学者)要求我创建一个小型联系人管理器程序,但我遇到了麻烦。

它要求我们创建几个类 - Address、PhoneNumber、Contact 和 ContactManager。

在 ContactManager 中,我们被要求创建一个名为 addContact() 的方法,该方法将向 ContactManager 中的对象数组添加一个全新的唯一联系人。

但是我不知道如何让这个方法做我想做的事情,因为每次它创建一个新的联系人时,它总是具有相同的名称。如何使它创建的对象每次都具有唯一的名称(即 Contact001、Contact002 等)?

另外,假设我可以在实例变量中输入所有数据来测试它,我该如何提供创建它所需的所有相关信息? 这是我的代码类:

public class Contact {
//Contact Instance Variables
private String lastName;
private String firstName;
private String middleName;
private Address completeAddress[];
private PhoneNumber phoneNumer[];
private SocialNetworkAccount socialNetworkInfo[];



public Contact(String lastName, String firstName, String middleName,
        Address[] completeAddress, PhoneNumber[] phoneNumer,
        SocialNetworkAccount[] socialNetworkInfo) {
    this.lastName = lastName;
    this.firstName = firstName;
    this.middleName = middleName;
    this.completeAddress = completeAddress;
    this.phoneNumer = phoneNumer;
    this.socialNetworkInfo = socialNetworkInfo;
}

【问题讨论】:

    标签: java object unique


    【解决方案1】:

    "私人名单联系人;"是一个名为contacts 的实例变量的声明。

    变量的类型是 List,它是 java.util 包中的一种特定的 Collection 对象。

    List<Contact> 是向编译器声明此列表仅包含联系人对象的一种方式。请参阅 java 教程中的“泛型”。

    【讨论】:

    • 我们现在才刚刚开始讨论泛型。
    【解决方案2】:

    在您的 ContactManager 类中,定义这些

    private List<Contact> contacts; 
    
    contacts = new ArrayList<Contact>(); //you should put this in ContactManager constructor
    
    public void addContact(Contact contact) {
     contacts.add(contact);
    }
    

    当您想添加新联系人时

    //just supply different names, etc. load the information from a file
    contactManager.addContact(new Contact(name,surname,....));
    

    或者...

    添加几个占位符联系人...

    int NUM_OF_CONTACTS = 2; //how many contacts to create
    for(int i = 0; i < NUM_OF_CONTACTS; ++i) {
     contactManager.addContact(new Contact(("Contact" + i),"Placeholder Surname",..);
    }
    

    【讨论】:

    • 你能解释一下“私人名单联系人;”吗?我以前从未见过它...
    猜你喜欢
    • 2014-04-25
    • 1970-01-01
    • 2012-10-07
    • 2015-06-30
    • 1970-01-01
    • 1970-01-01
    • 2019-11-04
    • 2012-12-02
    • 1970-01-01
    相关资源
    最近更新 更多