rainfall.txt是要读取的文件,我们要去掉“降雨量:”获得后面的数据,然后计算平均值
import java.io.File;
import java.util.Scanner;
import javax.swing.JOptionPane;
import java.util.ArrayList;
public class Rainfall
{
public static void main(String[] args) throws Exception
{
//step 1 从用户输入获得文件名称。
String name = "";
name = JOptionPane.showInputDialog(null,"请输入文件名称rainfall");
name += ".txt";
//JOptionPane.showMessageDialog(null,name);
//step 2 打开文件并且读取内容。
//Scanner file = new Scanner(new File("rainfall.txt"));
Scanner file = new Scanner(new File(name));
//System.out.println("end");
ArrayList<Double> fileContent = new ArrayList<Double>();
//移除文件中一部分的字符
double rainFall;
String clearString;
while(file.hasNext())
{
//System.out.println(file.next());
clearString = file.next();
clearString = clearString.replaceAll("降雨量:","");
rainFall = Double.valueOf(clearString);
fileContent.add(rainFall);
}
//setp 3 输出文件内容
//计算降雨量平均值
double averageOfRainFall = 0, sumOfRainFall = 0;
int amount = 0;
for(Double rainFallData : fileContent)
{
amount ++;
//JOptionPane.showMessageDialog(null,rainFallData);
sumOfRainFall += rainFallData;
}
averageOfRainFall = sumOfRainFall / amount;
JOptionPane.showMessageDialog(null,"近"+ amount + "天平均降雨量是" + averageOfRainFall);
}
}