上一篇 下一篇 分享链接 返回 返回顶部

java控制台怎么实现通讯录?

发布人:慈云数据-客服中心 发布时间:2024-08-03 13:58 阅读量:81

Java控制台实现通讯录

引言

在Java编程中,控制台应用程序是一种常见的练习方式,它可以帮助初学者快速理解Java的基本语法和面向对象的概念。本文将介绍如何使用Java控制台来实现一个简单的通讯录程序。

通讯录功能需求

一个基本的通讯录程序应该具备以下功能:

  1. 添加联系人
  2. 删除联系人
  3. 显示所有联系人
  4. 搜索联系人
  5. 退出程序

设计思路

为了实现上述功能,我们可以设计一个Contact类来存储联系人信息,然后使用一个数组或列表来管理所有的联系人。程序的主逻辑将通过控制台输入来实现。

实现步骤

1. 创建Contact类

首先,我们定义一个Contact类,用于存储联系人的姓名、电话号码和电子邮件。

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和Setter方法
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @Override
    public String toString() {
        return "Name: " + name + ", Phone: " + phoneNumber + ", Email: " + email;
    }
}

2. 管理联系人

接下来,我们需要一个类来管理联系人列表,提供添加、删除、显示和搜索联系人的方法。

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class ContactManager {
    private List contacts = new ArrayList<>();

    public void addContact(Contact contact) {
        contacts.add(contact);
    }

    public void removeContact(String name) {
        contacts.removeIf(contact -> contact.getName().equalsIgnoreCase(name));
    }

    public void displayContacts() {
        for (Contact contact : contacts) {
            System.out.println(contact);
        }
    }

    public void searchContact(String name) {
        for (Contact contact : contacts) {
            if (contact.getName().equalsIgnoreCase(name)) {
                System.out.println(contact);
                return;
            }
        }
        System.out.println("Contact not found.");
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        ContactManager manager = new ContactManager();
        boolean running = true;

        while (running) {
            System.out.println("1. Add Contact");
            System.out.println("2. Remove Contact");
            System.out.println("3. Display Contacts");
            System.out.println("4. Search Contact");
            System.out.println("5. Exit");
            System.out.print("Enter your choice: ");
            int choice = scanner.nextInt();
            scanner.nextLine(); // 处理nextInt后的换行符

            switch (choice) {
                case 1:
                    System.out.print("Enter name: ");
                    String name = scanner.nextLine();
                    System.out.print("Enter phone number: ");
                    String phoneNumber = scanner.nextLine();
                    System.out.print("Enter email: ");
                    String email = scanner.nextLine();
                    manager.addContact(new Contact(name, phoneNumber, email));
                    break;
                case 2:
                    System.out.print("Enter name to remove: ");
                    String removeName = scanner.nextLine();
                    manager.removeContact(removeName);
                    break;
                case 3:
                    manager.displayContacts();
                    break;
                case 4:
                    System.out.print("Enter name to search: ");
                    String searchName = scanner.nextLine();
                    manager.searchContact(searchName);
                    break;
                case 5:
                    running = false;
                    System.out.println("Exiting program...");
                    break;
                default:
                    System.out.println("Invalid choice, please try again.");
            }
        }
        scanner.close();
    }
}

3. 测试程序

编写完程序后,应该对其进行测试,确保所有功能都能正常工作。

结语

通过上述步骤,我们实现了一个简单的Java控制台通讯录程序。这个程序可以作为学习Java编程和面向对象设计的一个很好的练习。随着技能的提升,可以添加更多功能,如联系人分组、持久化存储等。

注意事项

  • 确保输入数据的有效性,避免程序因非法输入而崩溃。
  • 考虑使用异常处理来增强程序的健壮性。
  • 随着联系人数量的增加,考虑使用更高效的数据结构来存储和管理联系人。
目录结构
全文
九月精选特惠,用云无优!

1.充值活动
2000元赠送150元余额
3000元赠送200元余额
5000元赠送450元余额
10000元赠送1000元余额
2.香港云服务器·买1年送3个月
(仅香港云服务器1区和4区有效)
本活动商品及充值活动不支持退款;2、续费下单后两小时内生效!
活动仅9月2号至9月30号前有效!

查看详情 关闭
九月活动