java通讯录
时间: 2023-07-03 21:04:36 浏览: 44
实现一个简单的 Java 通讯录可以分为以下几个步骤:
1. 定义联系人类
```java
public class Contact {
private String name;
private String phoneNumber;
public Contact(String name, String phoneNumber) {
this.name = name;
this.phoneNumber = phoneNumber;
}
public String getName() {
return name;
}
public String getPhoneNumber() {
return phoneNumber;
}
@Override
public String toString() {
return "Name: " + name + " | Phone: " + phoneNumber;
}
}
```
2. 定义通讯录类
```java
import java.util.ArrayList;
import java.util.List;
public class AddressBook {
private List<Contact> contacts;
public AddressBook() {
contacts = new ArrayList<>();
}
public void addContact(Contact contact) {
contacts.add(contact);
}
public void removeContact(Contact contact) {
contacts.remove(contact);
}
public List<Contact> searchContacts(String name) {
List<Contact> results = new ArrayList<>();
for (Contact contact : contacts) {
if (contact.getName().equals(name)) {
results.add(contact);
}
}
return results;
}
public List<Contact> getAllContacts() {
return contacts;
}
}
```
3. 编写测试类
```java
public class Main {
public static void main(String[] args) {
AddressBook addressBook = new AddressBook();
Contact contact1 = new Contact("Alice", "1234567890");
Contact contact2 = new Contact("Bob", "0987654321");
addressBook.addContact(contact1);
addressBook.addContact(contact2);
System.out.println("All contacts:");
List<Contact> allContacts = addressBook.getAllContacts();
for (Contact contact : allContacts) {
System.out.println(contact.toString());
}
System.out.println("Search contacts:");
List<Contact> searchResults = addressBook.searchContacts("Alice");
for (Contact contact : searchResults) {
System.out.println(contact.toString());
}
addressBook.removeContact(contact1);
System.out.println("All contacts after removing Alice:");
allContacts = addressBook.getAllContacts();
for (Contact contact : allContacts) {
System.out.println(contact.toString());
}
}
}
```
运行测试类,可以得到以下输出:
```
All contacts:
Name: Alice | Phone: 1234567890
Name: Bob | Phone: 0987654321
Search contacts:
Name: Alice | Phone: 1234567890
All contacts after removing Alice:
Name: Bob | Phone: 0987654321
```