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 班级通讯录。在学习过程中,你掌握了基本的面向对象编程知识和如何管理对象的创建和使用。随着经验的积累,日后可以尝试更多复杂的功能,比如引入数据库进行数据存储、增加图形用户界面等。希望你在接下来的学习中能够获得更多乐趣!