使用grsap编写java代码去解决问题。给出代码,文件读写 比如有购物清单文件shopping.txt。 (以下内容为示例,大家作业内容随意) 卖家:天猫tmall。芒果198元,蓝莓78元,大枣160元。 卖家:京东jd。笔记本3500元,硬盘1480元。 卖家:得到app。吴军299元,熊逸199元,严伯钧199元。 卖家:抖音。勿忘我19.9 海鲜大礼包99元。 要求按行读取购物单,并在该行的后面加上消费总额,然后将该行写到一个名字为buyingList.txt的文件中。 卖家:天猫tmall。芒果198元,蓝莓78元,大枣160元。消费总额:436.0元。 卖家:京东jd。笔记本3500元,硬盘1480元。消费总额:4980.0元。 卖家:得到app。吴军299元,熊逸199元,严伯钧199元。消费总额:697.0元。 卖家:抖音。勿忘我19.9 海鲜大礼包99元。消费总额:118.9元。
时间: 2023-08-07 21:31:03 浏览: 84
可以使用以下Java代码实现:
```java
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
BufferedReader reader = new BufferedReader(new FileReader("shopping.txt"));
BufferedWriter writer = new BufferedWriter(new FileWriter("buyingList.txt"));
String line = reader.readLine();
while (line != null) {
String[] items = line.split("。");
double total = 0.0;
for (int i = 1; i < items.length - 1; i++) {
String[] item = items[i].split("元");
total += Double.parseDouble(item[0]);
}
writer.write(line.strip() + String.format("消费总额:%.1f元。", total) + "\n");
line = reader.readLine();
}
reader.close();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
此代码首先使用 `BufferedReader` 和 `FileReader` 打开原始文件 `shopping.txt` 并逐行读取。然后使用 `BufferedWriter` 和 `FileWriter` 打开新文件 `buyingList.txt` 并循环遍历每一行。对于每一行,首先使用句号进行分割,然后通过计算每一项的价格来计算总价。最后将该行写入新文件,并在末尾加上总价。最后关闭文件读写流。
阅读全文