创建一个名为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();
}
}
}
答案 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 {