java智能电话本代码
时间: 2023-08-10 15:02:51 浏览: 47
以下是一个简单的 Java 智能电话本的代码示例:
```java
import java.util.*;
public class Phonebook {
private Map<String, String> contacts;
public Phonebook() {
contacts = new HashMap<>();
}
public void addContact(String name, String phoneNumber) {
contacts.put(name, phoneNumber);
}
public String getPhoneNumber(String name) {
return contacts.get(name);
}
public List<String> searchContacts(String query) {
List<String> matchingContacts = new ArrayList<>();
for (String name : contacts.keySet()) {
if (name.toLowerCase().contains(query.toLowerCase())) {
matchingContacts.add(name + ": " + contacts.get(name));
}
}
return matchingContacts;
}
public static void main(String[] args) {
Phonebook phonebook = new Phonebook();
phonebook.addContact("Alice", "555-1234");
phonebook.addContact("Bob", "555-5678");
phonebook.addContact("Charlie", "555-9012");
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("Enter a name to look up, or a search query: ");
String input = scanner.nextLine();
if (input.equals("exit")) {
break;
}
String phoneNumber = phonebook.getPhoneNumber(input);
if (phoneNumber != null) {
System.out.println(input + ": " + phoneNumber);
} else {
List<String> matchingContacts = phonebook.searchContacts(input);
if (matchingContacts.isEmpty()) {
System.out.println("No results found.");
} else {
for (String contact : matchingContacts) {
System.out.println(contact);
}
}
}
}
}
}
```
这个电话本类有以下功能:
- 添加联系人
- 通过姓名查找电话号码
- 通过搜索查询查找联系人
在 main 方法中,我们创建了一个 Phonebook 对象,添加了几个联系人,并且允许用户输入姓名或搜索查询来查找联系人。当用户输入 "exit" 时,程序退出。