使用java的集合对象和I0流完成以下要求,一个txt文件中记录了200条数据记录, 包括姓名和消费金额:
时间: 2024-02-12 12:04:34 浏览: 44
好的,我可以帮你解决这个问题。首先,我们可以使用Java的FileReader和BufferedReader类来读取txt文件中的数据。然后,我们可以使用Java的HashMap类来存储每个人的姓名和对应的消费金额。
以下是实现该需求的代码:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
public class RecordReader {
public static void main(String[] args) {
String filePath = "records.txt";
HashMap<String, Double> records = new HashMap<>();
try {
BufferedReader reader = new BufferedReader(new FileReader(filePath));
String line = reader.readLine();
while (line != null) {
String[] data = line.split(",");
String name = data[0];
double amount = Double.parseDouble(data[1]);
if (records.containsKey(name)) {
double currentAmount = records.get(name);
records.put(name, currentAmount + amount);
} else {
records.put(name, amount);
}
line = reader.readLine();
}
reader.close();
for (String name : records.keySet()) {
System.out.println(name + " spent " + records.get(name) + " dollars.");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个程序中,我们首先定义了一个filePath变量,用来存储txt文件的路径。然后,我们创建了一个HashMap对象,用来存储每个人的姓名和对应的消费金额。
接着,我们使用BufferedReader和FileReader类来读取txt文件中的数据,并使用split方法来将每行数据分割成姓名和消费金额两个部分。然后,我们检查HashMap中是否已经存在该姓名的记录,如果存在,则将该记录的消费金额加上当前的消费金额,并更新HashMap中的记录。如果不存在,则直接将当前的记录添加到HashMap中。
最后,我们遍历HashMap对象,输出每个人的姓名和对应的消费金额。
希望这个程序可以帮助你解决问题,如果你有任何疑问,请随时问我。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)