score.txt中的数据:
姓名,语文,数学,英语
张伟,87,92,88
李娜,90,85,95
王强,78,90,82
赵敏,92,88,91
孙涛,85,82,89
周梅,88,87,93
吴刚,80,85,86
郑洁,91,89,94
陈晨,83,84,88
林峰,86,91,87
import scala.collection.mutable.ListBuffer
import scala.io.Source
//1.迭代器,跳过第一个元素
//2.把字符串转成数字
//3.如何判断一个正整数是否可以被3整除? (1+2+3) % 3 == 0case class Student(name:String,yuwen:Int,shuxue:Int,yingyu:Int,total:Int,avg:Int)
//成绩分析
object Test {def main(args: Array[String]): Unit = {//0.定义一个空列表val list = ListBuffer[Student]()//1.读入成绩,按行读取,跳过第一个元素val it = Source.fromFile("score.txt").getLines().drop(1)var shuxuezongfen = 0while (it.hasNext) {val content = it.next()//使用中文的逗号去拆分字符串var arr = content.split(",")val name = arr(0)val yuwen = arr(1).toIntval shuxue = arr(2).toIntval yingyu = arr(3).toIntval total = yuwen + shuxue + yingyuval avg = total / 3shuxuezongfen += shuxue//创建一个对象list += Student(name, yuwen, shuxue, yingyu, total, avg)}//数学平均分println("数学平均分",shuxuezongfen / list.length)//根据总分进行排序val orderList = list.sortWith((a,b)=>a.total>b.total).slice(0,3)//打印结果orderList.foreach(s=>println(s"姓名:${s.name},总分:${s.total}"))//根据数学成绩进行排序list.sortWith((a,b)=>a.shuxue>b.shuxue).foreach(s=> println(s"姓名:${s.name},数学:${s.shuxue},总分:${s.total}"))}
}