从txt文件中读取行并添加并平均它们

时间:2014-03-08 01:54:33

标签: java input sum output average

所以基本上我必须写一个带有数字的txt文件:

1
2
3
4
5
6
7
8
9
10

然后将其中的每一个添加到彼此中以获得总计55,然后 平均他们55/10得到我的答案。

我可以使用以下方法轻松地将数字写入txt文件:

PrintWriter outputFile = new PrintWriter("output.txt");

    outputFile.println("1");
    outputFile.println("2");
    outputFile.println("3");
    outputFile.println("4");
    outputFile.println("5");
    outputFile.println("6");
    outputFile.println("7");
    outputFile.println("8");
    outputFile.println("9");
    outputFile.println("10");
    outputFile.close();

但我如何阅读它们并将它们中的每一个转换为总数为55的数字?我的大多数尝试只是将它们全部读回或读入它们并最终进行奇怪的计算,如

3
5
9
14
20
27
ect.

2 个答案:

答案 0 :(得分:0)

public static void main(String[]args){
 int total = 0;
 int counter = 0;
 Scanner inFile = null;

 try{
 inFile = new Scanner(new File("fileName.txt"));

 while(inFile.hasNext()){
  total += inFile.nextInt();
  counter++;
 }

}catch(FileNotFoundException e){
 e.printStackTrace();
 }


System.out.println("Average: "+total/counter);
}

答案 1 :(得分:0)

您可以使用java.io.BufferedReader来阅读文件,即

BufferedReader reader = new BufferedReader(new FileReader("/path/to/file.txt"));

查看BufferedReader API中的方法readLine()。有关更多信息,请阅读tutorial