Java 通讯录管理系统

时间: 2023-09-21 10:11:28 浏览: 46
Java通讯录管理系统可以有以下功能: 1. 添加联系人:用户可以添加联系人的姓名、电话、电子邮件等信息。 2. 查找联系人:用户可以通过关键字查找已添加的联系人。 3. 修改联系人信息:用户可以修改已添加联系人的信息。 4. 删除联系人:用户可以删除已添加的联系人。 5. 显示联系人列表:用户可以查看已添加的所有联系人。 6. 数据存储:程序需要能够将添加的联系人数据持久化存储。 下面是一个简单的Java通讯录管理系统的代码示例: ```java import java.util.ArrayList; import java.util.Scanner; public class AddressBook { private ArrayList<Contact> contacts = new ArrayList<>(); public void addContact(Contact contact) { contacts.add(contact); System.out.println("Contact added successfully!"); } public Contact findContact(String keyword) { for (Contact contact : contacts) { if (contact.getName().contains(keyword) || contact.getPhone().contains(keyword) || contact.getEmail().contains(keyword)) { return contact; } } return null; } public void updateContact(Contact contact) { int index = contacts.indexOf(contact); if (index >= 0) { contacts.set(index, contact); System.out.println("Contact updated successfully!"); } else { System.out.println("Contact not found!"); } } public void deleteContact(Contact contact) { if (contacts.remove(contact)) { System.out.println("Contact deleted successfully!"); } else { System.out.println("Contact not found!"); } } public void displayContacts() { System.out.println("Contact list:"); for (Contact contact : contacts) { System.out.println(contact); } } public void saveContacts() { // TODO: implement saving contacts to a file } public void loadContacts() { // TODO: implement loading contacts from a file } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); AddressBook addressBook = new AddressBook(); while (true) { System.out.println("Please select an option:"); System.out.println("1. Add contact"); System.out.println("2. Find contact"); System.out.println("3. Update contact"); System.out.println("4. Delete contact"); System.out.println("5. Display contacts"); System.out.println("6. Exit"); int choice = scanner.nextInt(); scanner.nextLine(); switch (choice) { case 1: System.out.println("Enter contact name:"); String name = scanner.nextLine(); System.out.println("Enter contact phone:"); String phone = scanner.nextLine(); System.out.println("Enter contact email:"); String email = scanner.nextLine(); Contact contact = new Contact(name, phone, email); addressBook.addContact(contact); break; case 2: System.out.println("Enter search keyword:"); String keyword = scanner.nextLine(); Contact foundContact = addressBook.findContact(keyword); if (foundContact != null) { System.out.println("Contact found:"); System.out.println(foundContact); } else { System.out.println("Contact not found!"); } break; case 3: System.out.println("Enter contact name:"); String updateName = scanner.nextLine(); System.out.println("Enter contact phone:"); String updatePhone = scanner.nextLine(); System.out.println("Enter contact email:"); String updateEmail = scanner.nextLine(); Contact updateContact = new Contact(updateName, updatePhone, updateEmail); addressBook.updateContact(updateContact); break; case 4: System.out.println("Enter contact name:"); String deleteName = scanner.nextLine(); System.out.println("Enter contact phone:"); String deletePhone = scanner.nextLine(); System.out.println("Enter contact email:"); String deleteEmail = scanner.nextLine(); Contact deleteContact = new Contact(deleteName, deletePhone, deleteEmail); addressBook.deleteContact(deleteContact); break; case 5: addressBook.displayContacts(); break; case 6: addressBook.saveContacts(); System.exit(0); break; default: System.out.println("Invalid choice!"); break; } } } } ``` 联系人类: ```java 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; } 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: " + name + ", Phone: " + phone + ", Email: " + email; } } ```

相关推荐

最新推荐

recommend-type

Java通讯录管理系统

1:Java文本通讯录管理系统,不需要建立SQL数据库! 2:Java通讯录系统用到的都是一些简单易懂的代码,方便上手,适合初学者借鉴学习! 3:直接可以作为Java前面作业,或者想要有自己的内容稍微改改即可! 4:没有...
recommend-type

java课程设计-通讯录系统

该通讯录管理系统十分便捷,用户可以通过它方便地进行添加、查找、修改、删除等基本通讯录管理所需的功能。软件操作窗口平时可以隐藏于屏幕边缘,用户鼠标移至该处及显示操作界面,用只需输入关键词(联系人姓名)...
recommend-type

基于Yolov5的旋转检测

旋转检测 要求 torch==1.6 shapely==1.7.1 opencv==4.2.0.34
recommend-type

MATLAB 代码解决 Timothy Sauer 的教科书“数值分析”第三版中的两组计算机问题.zip

1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
recommend-type

基于SpringBoot+SpringCloud微服务的商城项目.zip

基于springboot的java毕业&课程设计
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

SQL怎么实现 数据透视表

SQL可以通过使用聚合函数和GROUP BY子句来实现数据透视表。 例如,假设有一个销售记录表,其中包含产品名称、销售日期、销售数量和销售额等信息。要创建一个按照产品名称、销售日期和销售额进行汇总的数据透视表,可以使用以下SQL语句: ``` SELECT ProductName, SaleDate, SUM(SaleQuantity) AS TotalQuantity, SUM(SaleAmount) AS TotalAmount FROM Sales GROUP BY ProductName, SaleDate; ``` 该语句将Sales表按照ProductName和SaleDat
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。