第十天:学生成绩统计实验
学习任务
学习如何读取文件数据并解析为 Scala 数据结构。
使用函数式编程方式统计学生成绩,包括平均值、最小值和最大值。
按性别分组统计成绩。
学习内容
文件读取:
使用 scala.io.Source 读取文件。
数据解析:
解析文件内容为 List 或 Array。
成绩统计:
使用函数式编程方法统计成绩。
学习任务
学习如何读取文件数据并解析为 Scala 数据结构。
使用函数式编程方式统计学生成绩,包括平均值、最小值和最大值。
按性别分组统计成绩。
学习内容
文件读取:
使用 scala.io.Source 读取文件。
数据解析:
解析文件内容为 List 或 Array。
成绩统计:
使用函数式编程方法统计成绩。
import scala.io.Source object GradeStatistics { def main(args: Array[String]): Unit = { val data = Source.fromFile("grades.txt").getLines().toList.drop(1) val grades = data.map(line => line.split("\\s+")) val courseNames = grades.head.tail val studentGrades = grades.tail.map(_.tail.map(_.toDouble)) val avg = studentGrades.transpose.map(scores => scores.sum / scores.size) val min = studentGrades.transpose.map(_.min) val max = studentGrades.transpose.map(_.max) println(s"course average min max") courseNames.zip(avg).zip(min).zip(max).foreach { case ((((course, avg), min), max)) => println(s"$course: $avg $min $max") } } }
浙公网安备 33010602011771号