通讯录管理系统通过Contact类封装联系人信息,AddressBook类用ArrayList实现增删改查功能,结合Scanner完成控制台交互,涵盖面向对象核心概念。

要创建一个简单的通讯录管理系统,可以用Java基础语法结合面向对象思想来实现。整个系统不需要数据库,使用集合类存储数据,通过控制台进行交互操作。以下是具体实现步骤和代码结构。
定义联系人实体类 Contact
每个联系人包含姓名、电话、邮箱等基本信息。创建一个 Contact 类来封装这些属性。
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; }
@Override
public String toString() {
return "姓名: " + name + ", 电话: " + phone + ", 邮箱: " + email;
}}
创建通讯录管理类 AddressBook
使用 ArrayList 存储多个联系人,并提供增删改查功能。
立即学习“Java免费学习笔记(深入)”;
华友协同办公管理系统(华友OA),基于微软最新的.net 2.0平台和SQL Server数据库,集成强大的Ajax技术,采用多层分布式架构,实现统一办公平台,功能强大、价格便宜,是适用于企事业单位的通用型网络协同办公系统。 系统秉承协同办公的思想,集成即时通讯、日记管理、通知管理、邮件管理、新闻、考勤管理、短信管理、个人文件柜、日程安排、工作计划、工作日清、通讯录、公文流转、论坛、在线调查、
import java.util.ArrayList; import java.util.Scanner;public class AddressBook { private ArrayList
contacts; private Scanner scanner; public AddressBook() { contacts = new ArrayListzuojiankuohaophpcnyoujiankuohaophpcn(); scanner = new Scanner(System.in); } // 添加联系人 public void addContact() { System.out.print("输入姓名: "); String name = scanner.nextLine(); System.out.print("输入电话: "); String phone = scanner.nextLine(); System.out.print("输入邮箱: "); String email = scanner.nextLine(); contacts.add(new Contact(name, phone, email)); System.out.println("联系人添加成功!"); } // 查看所有联系人 public void viewContacts() { if (contacts.isEmpty()) { System.out.println("通讯录为空!"); } else { for (int i = 0; i zuojiankuohaophpcn contacts.size(); i++) { System.out.println((i + 1) + ". " + contacts.get(i)); } } } // 根据姓名查找联系人 public Contact findContact(String name) { for (Contact c : contacts) { if (c.getName().equalsIgnoreCase(name)) { return c; } } return null; } // 修改联系人信息 public void editContact() { System.out.print("输入要修改的联系人姓名: "); String name = scanner.nextLine(); Contact contact = findContact(name); if (contact != null) { System.out.print("新电话: "); String phone = scanner.nextLine(); System.out.print("新邮箱: "); String email = scanner.nextLine(); contact.setPhone(phone); contact.setEmail(email); System.out.println("修改成功!"); } else { System.out.println("未找到该联系人!"); } } // 删除联系人 public void deleteContact() { System.out.print("输入要删除的联系人姓名: "); String name = scanner.nextLine(); Contact contact = findContact(name); if (contact != null) { contacts.remove(contact); System.out.println("删除成功!"); } else { System.out.println("未找到该联系人!"); } } // 主菜单 public void showMenu() { 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("请选择操作: "); String choice = scanner.nextLine(); switch (choice) { case "1": addContact(); break; case "2": viewContacts(); break; case "3": System.out.print("输入姓名查找: "); String name = scanner.nextLine(); Contact c = findContact(name); if (c != null) { System.out.println("找到: " + c); } else { System.out.println("未找到该联系人!"); } break; case "4": editContact(); break; case "5": deleteContact(); break; case "6": System.out.println("再见!"); return; default: System.out.println("无效选择,请重试。"); } } }}
编写主程序启动系统
在 Main 类中实例化 AddressBook 并调用菜单方法。
public class Main {
public static void main(String[] args) {
AddressBook book = new AddressBook();
book.showMenu();
}
}
运行程序后,可以通过控制台输入数字选择功能,完成对联系人的管理。这个系统虽然简单,但涵盖了面向对象的核心概念:封装、集合操作、流程控制和用户交互。
基本上就这些,不复杂但容易忽略细节,比如 Scanner 的换行处理或字符串比较忽略大小写。可以在此基础上扩展功能,比如保存到文件、支持分组等。









