java使用Scanner类的实例解析一个文件list.txt中的价格数据,并计算平均价格,比如该list.txt文件的内容如下: 商品列表: 电视机,2567元/台 洗衣机,3562元/台 冰箱,6573元/台
时间: 2024-03-21 20:43:18 浏览: 55
好的,我可以帮你解决这个问题。首先,你需要创建一个File对象,用来表示list.txt文件,然后创建一个Scanner对象,用来读取文件内容。代码如下:
```java
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
File file = new File("list.txt");
try {
Scanner scanner = new Scanner(file);
int count = 0;
double sum = 0;
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
String[] parts = line.split(",");
if (parts.length == 2) {
String priceStr = parts[1].replaceAll("[^0-9.]", "");
double price = Double.parseDouble(priceStr);
sum += price;
count++;
}
}
scanner.close();
double avg = sum / count;
System.out.println("平均价格为:" + avg + "元");
} catch (FileNotFoundException e) {
System.out.println("文件不存在!");
}
}
}
```
以上代码中,我们首先创建了一个File对象,表示list.txt文件。然后,我们在try-catch块中创建了一个Scanner对象,用来读取文件内容。在循环中,我们使用了String类的split()方法,将每一行的内容按照逗号分隔成两个部分,分别表示商品名称和价格。然后,我们使用正则表达式去掉价格中的非数字和小数点部分,得到一个纯数字的字符串,再将其转换为double类型,累加到sum变量中。同时,我们还记录了商品数量,用来求平均价格。最后,我们计算平均价格并输出。
阅读全文