答案:该项目实现了一个基于Java的通讯录管理系统,包含Contact类和AddressBook类,支持添加、查看、查找、修改、删除联系人功能,使用ArrayList存储数据,通过Scanner接收用户输入,适合初学者练习面向对象编程与集合操作。

在Java中实现一个简单的通讯录管理项目,适合初学者练习面向对象编程、集合操作和基础的控制台交互。这个小项目可以帮助你掌握类的设计、ArrayList的使用、以及基本的增删改查功能。
1. 项目功能需求
一个基础的通讯录管理系统应具备以下功能:
添加联系人:输入姓名、电话、邮箱等信息查看所有联系人:列出当前所有保存的联系人根据姓名查找联系人:支持模糊或精确查找修改联系人信息:通过姓名找到后更新信息删除联系人:按姓名删除指定联系人退出系统:结束程序运行
2. 核心类设计
我们需要两个主要类:
Contact 类:表示单个联系人
立即学习“Java免费学习笔记(深入)”;
封装联系人的基本信息,提供构造方法和getter/setter方法。
public class Contact { private String name; private String phone; private String email;public Contact(String name, String phone, String email) { this.name = name; this.phone = phone; this.email = email;}// getter 和 setter 方法public String getName() { return name; }public void setName(String name) { this.name = name; }public String getPhone() { return phone; }public void setPhone(String phone) { this.phone = phone; }public String getEmail() { return email; }public void setEmail(String email) { this.email = email; }@Overridepublic String toString() { return "姓名:" + name + " | 电话:" + phone + " | 邮箱:" + email;}
}
AddressBook 类:管理联系人列表
使用 ArrayList 存储多个 Contact 对象,并提供业务方法。
import java.util.*;public class AddressBook {private List contacts;
public AddressBook() { contacts = new ArrayList();}// 添加联系人public void addContact(Contact contact) { contacts.add(contact); System.out.println("联系人已添加!");}// 显示所有联系人public void displayAll() { if (contacts.isEmpty()) { System.out.println("通讯录为空!"); return; } for (Contact c : contacts) { System.out.println(c); }}// 按姓名查找(返回第一个匹配项)public Contact findByName(String name) { for (Contact c : contacts) { if (c.getName().equals(name)) { return c; } } return null;}// 修改联系人信息public boolean updateContact(String name, String newPhone, String newEmail) { Contact c = findByName(name); if (c != null) { c.setPhone(newPhone); c.setEmail(newEmail); System.out.println("联系人已更新!"); return true; } else { System.out.println("未找到该联系人!"); return false; }}// 删除联系人public boolean deleteContact(String name) { Contact c = findByName(name); if (c != null) { contacts.remove(c); System.out.println("联系人已删除!"); return true; } else { System.out.println("未找到该联系人!"); return false; }}
}
3. 主程序入口(测试运行)
通过 Scanner 实现用户交互,模拟菜单操作。
import java.util.Scanner;public class Main {public static void main(String[] args) {AddressBook book = new AddressBook();Scanner scanner = new Scanner(System.in);int choice;
while (true) { System.out.println("n--- 通讯录管理系统 ---"); System.out.println("1. 添加联系人"); System.out.println("2. 查看所有联系人"); System.out.println("3. 查找联系人"); System.out.println("4. 修改联系人"); System.out.println("5. 删除联系人"); System.out.println("6. 退出"); System.out.print("请选择操作:"); choice = scanner.nextInt(); scanner.nextLine(); // 消费换行符 switch (choice) { case 1: System.out.print("输入姓名:"); String name = scanner.nextLine(); System.out.print("输入电话:"); String phone = scanner.nextLine(); System.out.print("输入邮箱:"); String email = scanner.nextLine(); book.addContact(new Contact(name, phone, email)); break; case 2: book.displayAll(); break; case 3: System.out.print("输入要查找的姓名:"); String searchName = scanner.nextLine(); Contact found = book.findByName(searchName); if (found != null) { System.out.println("找到联系人:" + found); } else { System.out.println("未找到该联系人!"); } break; case 4: System.out.print("输入要修改的姓名:"); String updateName = scanner.nextLine(); System.out.print("新电话:"); String newPhone = scanner.nextLine(); System.out.print("新邮箱:"); String newEmail = scanner.nextLine(); book.updateContact(updateName, newPhone, newEmail); break; case 5: System.out.print("输入要删除的姓名:"); String delName = scanner.nextLine(); book.deleteContact(delName); break; case 6: System.out.println("再见!"); scanner.close(); return; default: System.out.println("无效选择,请重试!"); } }}
}
4. 扩展建议
完成基础功能后,可以尝试以下改进:
支持模糊搜索(如包含关键字)将数据保存到文件(如txt或CSV),重启程序不丢失使用HashMap以姓名为键加快查找速度增加输入合法性校验(如手机号格式)改为图形界面(Swing或JavaFX)
基本上就这些。这个小项目结构清晰,代码量适中,非常适合巩固Java基础。
以上就是Java中通讯录管理小项目的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/55517.html
微信扫一扫
支付宝扫一扫