使用集合创建一个通讯录,并创建联系人类当作数据类型,实现以下几个功能: 1.添加新的联系人 2.修改联系人信息 3.查找联系人 4.删除联系人 5.遍历并输出联系人列表
时间: 2024-02-13 16:00:11 浏览: 67
好的,以下是使用集合创建通讯录的 Java 代码实现:
```java
import java.util.ArrayList;
import java.util.Scanner;
// 联系人类
class Contact {
private String name; // 姓名
private String phone; // 电话号码
public Contact(String name, String phone) {
this.name = name;
this.phone = phone;
}
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;
}
}
// 通讯录类
class AddressBook {
private ArrayList<Contact> contacts; // 联系人列表
public AddressBook() {
contacts = new ArrayList<Contact>();
}
// 添加新的联系人
public void addContact(Contact contact) {
contacts.add(contact);
System.out.println("成功添加联系人:" + contact.getName());
}
// 修改联系人信息
public void modifyContact(String name) {
for (Contact contact : contacts) {
if (contact.getName().equals(name)) {
System.out.println("请输入新的电话号码:");
Scanner scanner = new Scanner(System.in);
String phone = scanner.nextLine();
contact.setPhone(phone);
System.out.println("联系人信息修改成功!");
return;
}
}
System.out.println("找不到联系人:" + name);
}
// 查找联系人
public void searchContact(String name) {
for (Contact contact : contacts) {
if (contact.getName().equals(name)) {
System.out.println("联系人信息如下:");
System.out.println("姓名:" + contact.getName());
System.out.println("电话号码:" + contact.getPhone());
return;
}
}
System.out.println("找不到联系人:" + name);
}
// 删除联系人
public void deleteContact(String name) {
for (Contact contact : contacts) {
if (contact.getName().equals(name)) {
contacts.remove(contact);
System.out.println("联系人删除成功!");
return;
}
}
System.out.println("找不到联系人:" + name);
}
// 遍历并输出联系人列表
public void printContacts() {
if (contacts.size() == 0) {
System.out.println("通讯录为空!");
return;
}
System.out.println("当前联系人列表如下:");
for (Contact contact : contacts) {
System.out.println("姓名:" + contact.getName() + ",电话号码:" + contact.getPhone());
}
}
}
// 测试
public class Test {
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.添加新的联系人 2.修改联系人信息 3.查找联系人 4.删除联系人 5.遍历并输出联系人列表 6.退出");
int choice = scanner.nextInt();
scanner.nextLine(); // 读取换行符
switch (choice) {
case 1:
System.out.println("请输入姓名:");
String name = scanner.nextLine();
System.out.println("请输入电话号码:");
String phone = scanner.nextLine();
Contact contact = new Contact(name, phone);
addressBook.addContact(contact);
break;
case 2:
System.out.println("请输入要修改信息的联系人姓名:");
name = scanner.nextLine();
addressBook.modifyContact(name);
break;
case 3:
System.out.println("请输入要查找的联系人姓名:");
name = scanner.nextLine();
addressBook.searchContact(name);
break;
case 4:
System.out.println("请输入要删除的联系人姓名:");
name = scanner.nextLine();
addressBook.deleteContact(name);
break;
case 5:
addressBook.printContacts();
break;
case 6:
System.out.println("程序已退出!");
return;
default:
System.out.println("无效的操作!");
break;
}
}
}
}
```
阅读全文