Java 读取学生信息计算考试平均分:代码示例与解析
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 文件操作和字符串处理。
原文地址: https://www.cveoy.top/t/topic/ngA1 著作权归作者所有。请勿转载和采集!