5.使用Scanner类的实例解析一个文件list.txt中的价格数据,并计算平均价格,比如该list.txt文件的内容如下: 商品列表: 电视机,2567元/台 洗衣机,3562元/台 冰箱,6573元/台
时间: 2024-03-02 09:52:21 浏览: 59
07.【Scanner类、Random类、ArrayList类】.zip
好的,我可以帮你编写一个Java程序来解析list.txt文件中的价格数据,并计算平均价格。首先,你需要使用Scanner类来读取文件内容。以下是代码示例:
```java
import java.io.*;
import java.util.Scanner;
public class ReadFile {
public static void main(String[] args) {
try {
File file = new File("list.txt");
Scanner scanner = new Scanner(file);
int count = 0;
double total = 0;
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
String[] fields = line.split(",");
String priceStr = fields[1].replaceAll("[^\\d.]+", "");
double price = Double.parseDouble(priceStr);
total += price;
count++;
}
double average = total / count;
System.out.println("平均价格为:" + average);
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
```
在这个程序中,我们首先创建一个File对象并指定要读取的文件名为list.txt。然后,我们使用Scanner类来读取文件内容,并在while循环中逐行解析文件内容。对于每一行数据,我们使用split()方法将其分割成商品名和价格两个字段,然后使用正则表达式和replaceAll()方法从价格字段中提取出数字部分。最后,我们将价格累加到total变量中,并增加count计数器的值,以便计算平均价格。最后,我们输出平均价格。
注意,在代码中,我们使用了try-catch语句块来捕获FileNotFoundException异常,以防止文件不存在的情况。另外,我们在程序结束时要关闭Scanner对象,以释放系统资源。
阅读全文