Java:从文件中读取并找到其中所有数字的和与平均值

问题描述 投票:0回答:1

我随机生成了一个介于1到100之间的50个数字的列表,并将其写入了新文件。我将如何读取文件并计算所有数字的总和和平均值?

import java.util.*;
import java.io.*;
import java.io.FileWriter;
import java.io.PrintWriter;

public class Lab5Part2{
   public static void main(String [] args)throws IOException
   {
      FileOutputStream fo = null;
      PrintWriter out = null;
      File file = new File("outwrite.txt");
      FileWriter fw = new FileWriter(file);
      PrintWriter pw = new PrintWriter(fw);


      Random rand = new Random();
      int number, count=0, countTwo=0;
      while(count < 50)
      {
         while(countTwo < 50)
         {

            number=rand.nextInt(100)+1;
            pw.println(number);
            count++;
            countTwo++;

         }  
      }
      pw.close();
  }

}
java file writing
1个回答
0
投票

这里是一种解决方案:

var stream = Files.lines(Path.of("outwrite.txt"))
                  .map(String::trim)
                  .filter(s -> !s.isEmpty())
                  .mapToInt(Integer::parseInt);
int sum = stream.sum();
double average = stream.average().getAsDouble();

请注意,我假设文件的每一行仅包含有效数字,否则代码将无法正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.