Java电话本管理系统
电话本是一种用于存储和管理联系人信息的工具。在计算机应用中,可以使用Java编程语言创建电话本管理系统,以实现对联系人的添加、编辑、删除和搜索等功能。本文将介绍如何使用Java编写电话本管理系统,并提供代码示例。
1. 设计概述
在设计电话本管理系统之前,我们需要明确系统的需求和功能。电话本管理系统应该具有以下功能:
- 添加联系人:用户可以输入联系人的姓名、电话号码和电子邮件地址,以添加新联系人到电话本中。
- 编辑联系人:用户可以选择要编辑的联系人,并修改其姓名、电话号码和电子邮件地址。
- 删除联系人:用户可以选择要删除的联系人,并从电话本中删除。
- 搜索联系人:用户可以根据姓名、电话号码或电子邮件地址搜索联系人。
- 显示联系人列表:用户可以查看电话本中的所有联系人,并按照姓名的字母顺序进行排序。
基于以上需求,我们可以设计电话本管理系统的实体关系图如下所示:
erDiagram
CUSTOMER ||--o{ CONTACT : "has"
CUSTOMER {
String name
String phoneNumber
String email
}
2. 实现步骤
步骤 1: 创建联系人类
首先,我们需要创建一个Java类来表示联系人。这个类应该包含联系人的姓名、电话号码和电子邮件地址等属性,并提供相应的 getter 和 setter 方法。
public class Contact {
private String name;
private String phoneNumber;
private String email;
public Contact(String name, String phoneNumber, String email) {
this.name = name;
this.phoneNumber = phoneNumber;
this.email = email;
}
// getter and setter methods
}
步骤 2: 创建电话本类
接下来,我们需要创建一个电话本类来实现电话本管理系统的功能。这个类应该包含以下方法:
- 添加联系人:将新联系人添加到联系人列表中。
- 编辑联系人:根据索引选择要编辑的联系人,并修改其属性。
- 删除联系人:根据索引选择要删除的联系人,并从联系人列表中删除。
- 搜索联系人:根据姓名、电话号码或电子邮件地址搜索联系人,并返回匹配的联系人列表。
- 显示联系人列表:按照姓名的字母顺序显示所有联系人。
import java.util.ArrayList;
import java.util.List;
public class PhoneBook {
private List<Contact> contacts;
public PhoneBook() {
this.contacts = new ArrayList<>();
}
public void addContact(Contact contact) {
contacts.add(contact);
}
public void editContact(int index, Contact newContact) {
contacts.set(index, newContact);
}
public void deleteContact(int index) {
contacts.remove(index);
}
public List<Contact> searchContact(String keyword) {
List<Contact> results = new ArrayList<>();
for (Contact contact : contacts) {
if (contact.getName().contains(keyword) ||
contact.getPhoneNumber().contains(keyword) ||
contact.getEmail().contains(keyword)) {
results.add(contact);
}
}
return results;
}
public void displayContactList() {
List<Contact> sortedContacts = new ArrayList<>(contacts);
sortedContacts.sort((c1, c2) -> c1.getName().compareToIgnoreCase(c2.getName()));
for (Contact contact : sortedContacts) {
System.out.println(contact.getName() + " - " +
contact.getPhoneNumber() + " - " +
contact.getEmail());
}
}
}
步骤 3: 使用电话本管理系统
最后,我们可以在主类中使用电话本管理系统。在这个示例中,我们将创建一个电话本对象,并添加、编辑、删除和搜索联系人。
public class Main {
public static void main(String[] args) {
PhoneBook phoneBook = new PhoneBook();
// 添加联系人
Contact contact1 = new Contact("Alice", "123456789", "alice@example.com");
Contact contact2 = new Contact("Bob", "987654321", "bob@example.com");
phoneBook.addContact(contact1);
phoneBook.addContact(contact2);
// 编辑联系人
Contact newContact = new Contact("Alice Smith", "123456789", "alice.smith@example.com");
phoneBook.editContact(0, newContact);
// 删除联系人
phoneBook.deleteContact(1);
// 搜索联系人
List<Contact> searchResults =