从文件中读取成绩

时间:2016-11-25 13:49:53

标签: java

创建一个名为processFile的方法,并从main调用它,传递您创建的文件的名称(" scores.rtf")。在processFile中,设置BufferedReader并循环遍历文件,读取每个分数。将分数转换为整数,将其相加,然后计算并显示均值。我已经完成了这个,我的代码运行了。唯一的问题是我的代码不计算均值。知道为什么吗?

以下是我生成的代码:

import java.io.*;

public class ReadTheCode {

private static double total = 0;
private static int totalLines = 0;


public static void main(String[] args) throws IOException, FileNotFoundException {
   String pathToFile = "scores.rtf";
   processFile(pathToFile);

}

public static void processFile(String pathToFile) throws IOException, FileNotFoundException {
    try(BufferedReader br = new BufferedReader(new FileReader(pathToFile))){
        BufferedReader inputReader = new BufferedReader(new InputStreamReader(new FileInputStream(pathToFile)));
        String line = br.readLine();
        while (line != null) {
            double value = Double.parseDouble(line);
            total = value + total;
            totalLines = totalLines + 1;
            System.out.println(value + "%");
            line = br.readLine();
        }
        inputReader.close();
    }
} 
}

1 个答案:

答案 0 :(得分:2)

一些事情,在你的主要方法中,我相信你的意思是这样做。

aggregate(cars$speed, FUN=mean, by=list(cars$dist), data=cars[cars$speed >= 15, ])

注意它有引号。这使它成为一个字符串文字。

同样在您的processFile方法中,

更改此行String pathToFile = "Scores.txt";

BufferedReader inputReader = new BufferedReader(new InputStreamReader(new FileInputStream(Scores.txt)));

这样你就引用了你从main方法传递的参数。

我还注意到你引用了两个你没有在任何地方声明过的变量。 BufferedReader inputReader = new BufferedReader(new InputStreamReader(new FileInputStream(pathToFile))); Total,所以我不确定您是否向我们展示了所有代码。如果您向我们展示了所有代码,那么请确保在某处声明这些变量。您只需在TotalLines

下添加即可

这将声明并初始化变量。它还会使它们变为静态,因此您可以在静态方法中访问它们。我建议您查看java命名约定,因为变量应该以小写字母开头。

public class ReadTheCode {