score

35 阅读1分钟

任务

  1. 读入文件
  2. 计算 (1) 每个同学的总分 (2) 每个同学的平均分 (3) 每个科目的最高分
  3. 把结果写入到一个新文件中
object score01 {
  case class Stu(name:String, yuwen:Double, shuxue:Double, yingyu:Double)

  def main(args: Array[String]): Unit = {
    // 0. 创建一个可变List
    val stuList = scala.collection.mutable.ListBuffer[Stu]()

    // 1. 读入文件 迭代器
    val lines = scala.io.Source.fromFile("score.txt").getLines()
    lines.next() // 跳过第一行

    while (lines.hasNext) {
      val line = lines.next()
      // 字符串拆分
      val l1 = line.split(",")
      stuList += Stu(l1(0), l1(1).toDouble, l1(2).toDouble, l1(3).toDouble)
    }
    // 读入数据结束
    println("读入数据结束")

    stuList.foreach(stu => {
      val total = stu.yuwen + stu.yingyu + stu.shuxue
      val avg = total / 3
      println(s"${stu.name}, 总分: ${total} 平均分: ${avg}")
    })
  }
}