写一个通讯录管理系统实现基本功能java简单并讲解代码含义
时间: 2023-06-26 08:04:37 浏览: 120
下面是一个简单的通讯录管理系统Java实现,实现了基本的添加联系人、删除联系人、查找联系人、显示所有联系人等功能。代码带有注释,方便理解。
```java
import java.util.Scanner;
public class AddressBook {
private static final int MAX_CONTACTS = 100; // 最大联系人数
private Contact[] contacts = new Contact[MAX_CONTACTS]; // 存储所有联系人的数组
private int numContacts = 0; // 当前联系人数
public static void main(String[] args) {
AddressBook addressBook = new AddressBook();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请选择操作:");
System.out.println("1. 添加联系人");
System.out.println("2. 删除联系人");
System.out.println("3. 查找联系人");
System.out.println("4. 显示所有联系人");
System.out.println("5. 退出");
int choice = scanner.nextInt();
switch (choice) {
case 1:
addressBook.addContact();
break;
case 2:
addressBook.removeContact();
break;
case 3:
addressBook.searchContact();
break;
case 4:
addressBook.displayContacts();
break;
case 5:
System.exit(0);
default:
System.out.println("无效的选择,请重新输入!");
}
}
}
// 添加联系人
public void addContact() {
Scanner scanner = new Scanner(System.in);
if (numContacts >= MAX_CONTACTS) {
System.out.println("通讯录已满,无法添加新的联系人!");
return;
}
System.out.println("请输入联系人姓名:");
String name = scanner.nextLine();
System.out.println("请输入联系人电话:");
String phone = scanner.nextLine();
System.out.println("请输入联系人邮箱:");
String email = scanner.nextLine();
Contact contact = new Contact(name, phone, email);
contacts[numContacts++] = contact;
System.out.println("联系人添加成功!");
}
// 删除联系人
public void removeContact() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要删除的联系人姓名:");
String name = scanner.nextLine();
boolean found = false;
for (int i = 0; i < numContacts; i++) {
if (contacts[i].getName().equals(name)) {
found = true;
for (int j = i; j < numContacts - 1; j++) {
contacts[j] = contacts[j + 1];
}
numContacts--;
System.out.println("联系人删除成功!");
break;
}
}
if (!found) {
System.out.println("未找到该联系人!");
}
}
// 查找联系人
public void searchContact() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要查找的联系人姓名:");
String name = scanner.nextLine();
boolean found = false;
for (int i = 0; i < numContacts; i++) {
if (contacts[i].getName().equals(name)) {
found = true;
System.out.println(contacts[i]);
break;
}
}
if (!found) {
System.out.println("未找到该联系人!");
}
}
// 显示所有联系人
public void displayContacts() {
if (numContacts == 0) {
System.out.println("通讯录为空!");
return;
}
for (int i = 0; i < numContacts; i++) {
System.out.println(contacts[i]);
}
}
}
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 String getPhone() {
return phone;
}
public String getEmail() {
return email;
}
@Override
public String toString() {
return "姓名:" + name + ",电话:" + phone + ",邮箱:" + email;
}
}
```
在程序运行时,会显示一个菜单供用户选择操作。选择不同的操作会调用相应的方法。其中,`addContact()` 方法用于添加联系人,首先检查通讯录是否已满,然后要求用户输入联系人的姓名、电话和邮箱,创建一个新的 `Contact` 对象并存储到通讯录中。
`removeContact()` 方法用于删除联系人,要求用户输入要删除的联系人的姓名,然后在通讯录中查找该联系人,如果找到了就将其从通讯录中删除。
`searchContact()` 方法用于查找联系人,要求用户输入要查找的联系人的姓名,然后在通讯录中查找该联系人,如果找到了就显示其详细信息。
`displayContacts()` 方法用于显示所有联系人,如果通讯录为空则提示用户。
`Contact` 类表示一个联系人,包含姓名、电话和邮箱三个属性,以及一个重写了 `toString()` 方法用于返回联系人的详细信息。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)