java - 从文件中读取成绩

标签 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();
    }
} 
}

最佳答案

在您的主要方法中,我相信您打算这样做。

String pathToFile = "Scores.txt";

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

也在您的 processFile 方法中,

更改此行BufferedReader inputReader = new BufferedReader(new InputStreamReader(new FileInputStream(Scores.txt)));

BufferedReader inputReader = new BufferedReader(new InputStreamReader(new FileInputStream(pathToFile)));

这样您就可以引用从主方法传递的参数。

我还注意到您引用了 2 个尚未在任何地方声明的变量。 TotalTotalLines,所以我不确定您是否已向我们展示了所有代码。如果您已向我们展示了所有代码,请确保在某处声明这些变量。您只需将其添加到您的公共(public)类 ReadTheCode {

下即可

这将声明并初始化变量。它还将使它们静态,以便您可以在静态方法中访问它们。不过,我建议您研究一下 Java 命名约定,因为变量应以小写字母开头。

private static double Total = 0;
private static int TotalLines = 0;

关于java - 从文件中读取成绩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40806525/

相关文章:

java - 选项卡布局实现上的 NullPointerException

java - JPA。 JOIN 嵌套 SELECT "unexpected token ("

java - hibernate - 频繁查询时出错

javascript - 仅当表达式匹配长度不超过 12 个字符时才匹配的正则表达式

java - (JAVA) 无法计算文件的确切行数和其他特定字符

java - Android - 列出Activity到Activity

java - 两个传入 REST json 的通用 dto

java - 面板未添加到主框架

java - 2 个 Java 进程 - 一个读取和一个写入同一个文件

java - 覆盖 Java 中的 hashCode 方法 : Why does it work?