使用java中的文本文件查找集合和类的平均值

使用java中的文本文件查找集合和类的平均值,java,text-files,readfile,Java,Text Files,Readfile,类的标记存储在名为“marks3.txt”的文本文件中。标记以以下格式保存:第一个数字表示按顺序存储在每行文本中的(两位数)标记总数。每行文本代表一组标记 例如(txt文件将包含以下数字) 4567687509 569563 这些标志是: 45%、67%、68%、75%、9% 56%、95%、63% 写一个方法,计算每套分数的平均值以及总平均值 下面是我创建的代码,我不知道如何在文件中循环,直到有两个数字组成标记。另一件我一直关注的事情是如何调用该方法 import java.io.*; p

类的标记存储在名为“marks3.txt”的文本文件中。标记以以下格式保存:第一个数字表示按顺序存储在每行文本中的(两位数)标记总数。每行文本代表一组标记

例如(txt文件将包含以下数字) 4567687509 569563

这些标志是:

45%、67%、68%、75%、9%

56%、95%、63%

写一个方法,计算每套分数的平均值以及总平均值

下面是我创建的代码,我不知道如何在文件中循环,直到有两个数字组成标记。另一件我一直关注的事情是如何调用该方法

import java.io.*;


public class ReadFile {


public static int calcAvg (String x) throws IOException {
    int avg = 0;
    int count = 0;
    
    
    FileReader fr = new FileReader ("/home/sharma6a/marks.txt");
    BufferedReader br = new BufferedReader (fr);
    
    while ((x = br.readLine()) != null) {
        if (count <= 2) {
            
        }
    }
    
    br.close();
    
    return avg;
}
import java.io.*;
公共类读取文件{
公共静态int-calavg(字符串x)引发IOException{
int平均值=0;
整数计数=0;
FileReader fr=newFileReader(“/home/sharma6a/marks.txt”);
BufferedReader br=新的BufferedReader(fr);
而((x=br.readLine())!=null){

if(count就这么简单。实际上,你希望人们为你做一些事情,但这是一个问答网站。在这里,你会看到一些获取个人百分比的代码。你会计算出剩下的部分

File f = new File(path);
try {

  Scanner scanner = new Scanner(f);
  String line = scanner.nextLine();
  for (int i = 0; i < line.length() - 1; i+=2) {

    double percentage = Double.parseDouble(line.substring(i, i+2)) / 100.0;

  }

} catch (Exception e) {e.printStackTrace();}
File f=新文件(路径);
试一试{
扫描仪=新扫描仪(f);
字符串行=scanner.nextLine();
对于(int i=0;i
考虑像这样的输入文件

45676875
09569563
首先,我将有一个方法来读取文件并将其转换为更好的结构以供使用

   public List<Integer> readFile() throws FileNotFoundException {
    List<Integer> numbers = new ArrayList<>();
    String line = "";
    try {
        FileReader fr = new FileReader("src/main/resources/numbers.txt");
        BufferedReader br = new BufferedReader(fr);

        while ((line = br.readLine()) != null) {
            for (int i = 0; i <= line.length() - 2; i+=2) {
                char[] chars = line.toCharArray();
                int number = Integer.parseInt(String.valueOf(chars[i]) + String.valueOf(chars[i+1]));
                numbers.add(number);
            }
        }
    } catch (Exception e) {
        System.out.println(e);
    }
    return numbers;
}
public List readFile()引发FileNotFoundException{
列表编号=新的ArrayList();
字符串行=”;
试一试{
FileReader fr=newFileReader(“src/main/resources/numbers.txt”);
BufferedReader br=新的BufferedReader(fr);
而((line=br.readLine())!=null){

对于(int i=0;i)
字符串x
参数的用途是什么?为什么要检查
计数
public float calcAvg(List<Integer> numbers) throws IOException {
        int sum = 0;
        for (int number: numbers){
            sum+= number;

        }
        return sum/(numbers.size());
    }
public void init() throws IOException {
    List<Integer> numbers = readFile();
    float result = calcAvg(numbers);
    System.out.println(result);

}