//1.迭代器,跳过第一个元素
//2.把字符串转成数字
//3.如何判断一个正整数是否可以被三整除? (1+2+3) % 3 = 0
import wyyyy.Student
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 mjq {
def main(args: Array[String]): Unit = {
//0.定义一个空列表
val list = ListBuffer[Student]()
//1.读入成绩 换行去读取 跳过第一个元素
val it = Source.fromFile("score.txt").getLines().drop(1)
val shuxuezongfen = 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
println("当前行是",name,yingyu,total,avg)
list += Student(name,yuwen,shuxue,yingyu,total,avg)
}
//数学平均分
println("数学平均分",shuxuezongfen/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}"))
}
}
姓名:张伟,数学:92,总分:267
姓名:林峰,数学:91,总分:264
姓名:王强,数学:90,总分:250
姓名:郑洁,数学:89,总分:274
姓名:赵敏,数学:88,总分:271
姓名:周梅,数学:87,总分:268
姓名:李娜,数学:85,总分:270
姓名:吴刚,数学:85,总分:251
姓名:陈晨,数学:84,总分:255
姓名:孙涛,数学:82,总分:256
进程已结束,退出代码0