Java通讯录程序
通讯录是一个非常常见的应用程序,它可以帮助我们记录和管理联系人的信息,随时随地方便快捷地查找和编辑。在本文中,我们将学习如何使用Java编写一个简单的通讯录程序。
功能需求
在开始编写代码之前,我们需要先明确程序的功能需求。通讯录程序应该具备以下基本功能:
- 添加联系人:可以输入联系人的姓名、电话号码、电子邮件等信息,并将其保存到通讯录中。
- 显示联系人列表:可以查看通讯录中的所有联系人,并显示其姓名和电话号码。
- 编辑联系人:可以根据姓名或电话号码查找并编辑指定的联系人信息。
- 删除联系人:可以根据姓名或电话号码查找并删除指定的联系人信息。
数据模型设计
在开始编写代码之前,我们需要先设计通讯录的数据模型。在本例中,我们将使用一个简单的类来表示联系人,该类具有以下属性:
- 姓名(name):字符串类型
- 电话号码(phone):字符串类型
- 电子邮件(email):字符串类型
我们可以使用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;
}
// Getter and setter methods
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;
}
}
用户界面设计
在编写程序之前,我们需要先设计程序的用户界面。在本例中,我们将使用控制台作为用户界面。我们可以使用Java的Scanner
类来接收用户的输入,并使用System.out.println
来打印输出。
用户界面设计如下所示:
import java.util.Scanner;
public class ConsoleUI {
private Scanner scanner;
public ConsoleUI() {
scanner = new Scanner(System.in);
}
public void showMenu() {
System.out.println("---------- 通讯录程序 ----------");
System.out.println("1. 添加联系人");
System.out.println("2. 显示联系人列表");
System.out.println("3. 编辑联系人");
System.out.println("4. 删除联系人");
System.out.println("5. 退出程序");
System.out.println("---------------------------------");
}
public int getChoice() {
System.out.print("请输入选项:");
return scanner.nextInt();
}
// Other methods for getting user input or displaying output
}
主程序逻辑
现在我们可以开始编写通讯录程序的主要逻辑。我们将使用一个ArrayList
来保存所有的联系人,并使用一个while
循环来持续接收用户的操作。
程序的主程序逻辑如下所示:
import java.util.ArrayList;
public class AddressBook {
private ArrayList<Contact> contacts;
private ConsoleUI ui;
public AddressBook() {
contacts = new ArrayList<>();
ui = new ConsoleUI();
}
public void run() {
int choice = 0;
while (choice != 5) {
ui.showMenu();
choice = ui.getChoice();
switch (choice) {
case 1:
addContact();
break;
case 2:
showContactList();
break;
case 3:
editContact();
break;
case 4:
deleteContact();
break;
case 5:
System.out.println("程序已退出。");
break;
default:
System.out.println("无效选项,请重新输入。");
break;
}
}
}
public void addContact() {
System.out.print("请输入姓名:");
String name = ui.getStringInput();
System.out.print("请输入电话号码:");
String phone = ui.getStringInput();
System.out.print("请输入电子邮件:");
String email = ui.getStringInput();
Contact contact = new Contact(name, phone, email);
contacts.add(contact);
System.out.println("联系人已添加。");
}
public void showContactList() {
if (contacts.isEmpty()) {
System