package test33
//1.迭代器
//2.把字符串转成数字
//3.如何判断一个正整数是否可以被3整除(1+2+3)%3 ==0
import scala.collection.mutable.ListBuffer
import scala.io.Source
case class Student(name:String,yuwen:Int,shuxue:Int,yingyu:Int,total:Int,avg:Int)
//成绩分析
object test1 {
def main(args: Array[String]): Unit = {
//0.定义一个空列表
val list = ListBuffer[Student]()
//1.读取成绩-按行去读-跳过第一个元素
val it = Source.fromFile("score.txt").getLines().drop(1)
var shuxuezongfen = 0
var yuwenzongfen = 0
var yingyuzongfen = 0
while (it.hasNext) {
val content = it.next()
//使用中文的都好去拆分字符串
var arr = content.split(",")
val name = arr(0)
val yuwen = arr(1).toInt
val shuxue = arr(2).toInt
val yingyu = arr(3).toInt
val total = yuwen + shuxue + yingyu
val avg = total / 3
shuxuezongfen += shuxue
yuwenzongfen += yuwen
yingyuzongfen += yingyu
//创建一个对象
// println("当前行是", name, yingyu, total, avg)
list += Student(name,yuwen,shuxue,yingyu,total,avg)
}
//数学平均分
println("数学平均分",shuxuezongfen/list.length)
//语文平均分
println("语文平均分",yuwenzongfen/list.length)
//英语平均分
println("英语平均分",yingyuzongfen/list.length)
//根据总分进行排列
val orderList = list.sortWith((a,b)=>a.total>b.total)
//打印结果
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}"))
}
}