用java解决【问题描述】 文件phonebook1.txt中有若干联系人的姓名和电话号码。 abc 13312342222 de 13412343333 zhangsan 13512345555 lisi 13612346666 wagnwu 13712347777 djf 13812348888 请你编写一个简单的通信录程序,当从键盘输入一个姓名时查找到对应的电话号码并输出。如果没找到则显示Not found.
时间: 2024-04-02 20:36:38 浏览: 145
输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。
5星 · 资源好评率100%
好的,我来编写这个程序。首先需要读取文件中的联系人信息并存储到一个数据结构中,这里我选择使用HashMap来存储姓名和电话号码的对应关系。然后,从键盘输入一个姓名,查找对应的电话号码并输出。
以下是完整的Java代码:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Phonebook {
public static void main(String[] args) throws IOException {
// 读取文件中的联系人信息
Map<String, String> phonebook = new HashMap<>();
BufferedReader reader = new BufferedReader(new FileReader("phonebook1.txt"));
String line;
while ((line = reader.readLine()) != null) {
String[] parts = line.split(" ");
phonebook.put(parts[0], parts[1]);
}
reader.close();
// 从键盘输入一个姓名,查找对应的电话号码并输出
Scanner scanner = new Scanner(System.in);
System.out.print("请输入姓名:");
String name = scanner.nextLine();
String phoneNumber = phonebook.get(name);
if (phoneNumber == null) {
System.out.println("Not found.");
} else {
System.out.println("电话号码:" + phoneNumber);
}
scanner.close();
}
}
```
需要注意的是,程序中的文件路径是相对于项目根目录的,如果文件不在项目根目录下,需要修改路径。
阅读全文