Java 班级通讯录实现指南
上手一个新的项目总是有些挑战,尤其是对刚入行的开发者来说。本文将指导你如何实现一个简单的Java班级通讯录,通过一系列的步骤和代码示例,使你能够理解每个阶段的过程。
整体流程概述
下面是实现班级通讯录的基本步骤:
步骤 | 描述 |
---|---|
1 | 设计类图 |
2 | 创建联系人类 |
3 | 创建通讯录类 |
4 | 实现添加、删除、查看联系人功能 |
5 | 测试程序并进行修改 |
1. 设计类图
首先,我们需要设计一个类图,以描述系统的结构。通讯录的结构很简单,通常只需要两个类:联系人(Contact
)和通讯录(AddressBook
)。
使用 Mermaid 语法描述的类图如下:
classDiagram
class Contact {
+String name
+String phone
+String email
+String address
+getName()
+getPhone()
+getEmail()
+getAddress()
}
class AddressBook {
+List<Contact> contacts
+addContact(Contact contact)
+removeContact(String name)
+listContacts()
}
Contact --> AddressBook
2. 创建联系人类
接下来,我们来实现 Contact
(联系人)类。它将包含联系人信息和对应的方法。
// Contact.java
public class Contact {
private String name;
private String phone;
private String email;
private String address;
// 构造函数,用于初始化联系人信息
public Contact(String name, String phone, String email, String address) {
this.name = name;
this.phone = phone;
this.email = email;
this.address = address;
}
// 获取姓名
public String getName() {
return name;
}
// 获取电话
public String getPhone() {
return phone;
}
// 获取邮箱
public String getEmail() {
return email;
}
// 获取地址
public String getAddress() {
return address;
}
}
3. 创建通讯录类
现在我们要创建 AddressBook
(通讯录)类,它将管理 Contact
对象。
import java.util.ArrayList;
import java.util.List;
// AddressBook.java
public class AddressBook {
private List<Contact> contacts = new ArrayList<>();
// 添加联系人
public void addContact(Contact contact) {
contacts.add(contact);
}
// 删除联系人,根据名称
public void removeContact(String name) {
contacts.removeIf(contact -> contact.getName().equals(name));
}
// 列出所有联系人
public void listContacts() {
for (Contact contact : contacts) {
System.out.println("Name: " + contact.getName() +
", Phone: " + contact.getPhone() +
", Email: " + contact.getEmail() +
", Address: " + contact.getAddress());
}
}
}
4. 实现功能
现在我们来实现一个主程序,让用户能够添加和删除联系人,并显示所有联系人。
import java.util.Scanner;
// Main.java
public class Main {
public static void main(String[] args) {
AddressBook addressBook = new AddressBook();
Scanner scanner = new Scanner(System.in);
String command;
// 循环进行操作,直到用户输入"exit"
while (true) {
System.out.println("Enter command (add/list/remove/exit): ");
command = scanner.nextLine();
if (command.equals("add")) {
// 添加联系人
System.out.print("Enter name: ");
String name = scanner.nextLine();
System.out.print("Enter phone: ");
String phone = scanner.nextLine();
System.out.print("Enter email: ");
String email = scanner.nextLine();
System.out.print("Enter address: ");
String address = scanner.nextLine();
Contact contact = new Contact(name, phone, email, address);
addressBook.addContact(contact);
} else if (command.equals("list")) {
// 列出联系人
addressBook.listContacts();
} else if (command.equals("remove")) {
// 删除联系人
System.out.print("Enter name of contact to remove: ");
String name = scanner.nextLine();
addressBook.removeContact(name);
} else if (command.equals("exit")) {
break;
} else {
System.out.println("Unknown command.");
}
}
scanner.close();
}
}
5. 测试程序并进行修改
在运行主程序时,用户可以选择添加、查看和删除联系人。确保代码没有错误,并根据实际需求进行相应的修改,比如增加数据验证、持久化功能等。
结论
通过本指南,我们实现了一个简单的 Java 班级通讯录。在学习过程中,你掌握了基本的面向对象编程知识和如何管理对象的创建和使用。随着经验的积累,日后可以尝试更多复杂的功能,比如引入数据库进行数据存储、增加图形用户界面等。希望你在接下来的学习中能够获得更多乐趣!