Java 读取学生信息计算考试平均分:代码示例与解析

本教程将演示如何使用 Java 读取文件中的学生信息,并计算他们的考试平均分。我们将使用 Files 工具类读取文件,并通过字符串处理获取每个学生的成绩。最后,我们将计算总分并得出平均分。

1. 文件准备

在硬盘中新建一个 txt 文件,文件中的内容如下:

姓名:张三丰,成绩:89
姓名:张无忌,成绩:68
姓名:杨过,成绩:84
姓名:谢逊,成绩:61

2. 代码实现

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

public class Main {
    public static void main(String[] args) {
        try {
            // 读取文件内容
            String fileName = 'students.txt';
            String content = new String(Files.readAllBytes(Paths.get(fileName)));

            // 将内容按行拆分
            String[] lines = content.split('\n');

            // 计算总分
            int totalScore = 0;
            for (String line : lines) {
                // 拆分姓名和成绩
                String[] parts = line.split(',');
                String name = parts[0].substring(3); // 去掉姓名:前缀
                int score = Integer.parseInt(parts[1].substring(3)); // 去掉成绩:前缀并转换为数字
                totalScore += score;
            }

            // 计算平均分
            int numStudents = lines.length;
            double averageScore = (double) totalScore / numStudents;

            // 输出结果
            System.out.println('考试平均分为:' + averageScore);
        } catch (IOException e) {
            System.out.println('读取文件失败:' + e.getMessage());
        }
    }
}

3. 代码解析

  • 读取文件内容: 使用 Files.readAllBytes(Paths.get(fileName)) 方法读取文件内容并将其转换为字节数组,然后使用 new String() 方法将字节数组转换为字符串。
  • 按行拆分: 使用 split('\n') 方法将字符串按换行符拆分成多个字符串,每个字符串代表一行文件内容。
  • 拆分姓名和成绩: 使用 split(',') 方法将每行字符串按逗号拆分成两个字符串,第一个字符串代表姓名,第二个字符串代表成绩。
  • 获取成绩: 使用 substring(3) 方法去除 成绩: 前缀,并使用 Integer.parseInt() 方法将字符串转换为数字。
  • 计算总分: 遍历所有学生信息,将每个学生的成绩累加到 totalScore 中。
  • 计算平均分: 使用 totalScore 除以学生人数 numStudents 计算出平均分。
  • 输出结果: 将计算出的平均分输出到控制台。

总结

本教程演示了如何使用 Java 读取文件并计算考试平均分。通过使用 Files 工具类和字符串处理技巧,我们可以轻松实现这一功能。希望本教程能够帮助您更好地理解 Java 文件操作和字符串处理。

Java 读取学生信息计算考试平均分:代码示例与解析

原文地址: https://www.cveoy.top/t/topic/ngA1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录