import scala.Console.println import scala.collection.mutable.ListBuffer import scala.io.Source case class Student(name: String, yuwen: Double, shuxue: Double, yingyu: Double, total: Double,avg :Double) object Test716 { def main(args: Array[String]): Unit = { val studentList = ListBuffer[Student]() val source = Source.fromFile("score.txt") val it = source.getLines() it.next() while (it.hasNext) { val arr = it.next().split(",") val name = arr(0) val yuwen = arr(1).toDouble val shuxue = arr(2).toDouble val yingyu = arr(3).toDouble val total = yingyu + yuwen + shuxue val avg = total / 3 val s = Student(name, yuwen, shuxue, yuwen, total, avg) studentList += s } source.close() var avgYuwen:Double = 0 var avgShuxue:Double = 0 var avgYingyu:Double = 0 studentList.foreach(s => { avgYuwen += s.yuwen avgShuxue += s.shuxue avgYingyu +=s.yingyu }) println("语文平均分:",avgYuwen) println("数学平均分:",avgShuxue) println("英语平均分:",avgYingyu) val list1 = studentList.sortWith((a,b)=>a.total >b.total).slice(0,3) print("总分从高到低排名前三:") list1.foreach(println) val list2 =studentList.sortWith((a,b)=>a.yuwen >b.yuwen).slice(0,3) print("语文排名前三:") list2.foreach(println) val list3 = studentList.sortWith((a, b) => a.shuxue > b.shuxue).slice(0, 3) print("数学排名前三:") list3.foreach(println) val list4= studentList.sortWith((a, b) => a.yingyu > b.yingyu).slice(0, 3) print("英语排名前三:") list4.foreach(println) val writer = new printWriter("统计成绩结果:") writer println "姓名,语文,数学,英语,总分,平均分" studentList foreach(s=>{ val avg =String.format("%.1f",s.avg) writer.println(s"${s.name},${s.avg},${s.shuxue},${s.yuwen},${s.yingyu},${s.total}") }) } case class printWriter(fileName: String) { def println(str: String): Unit= ??? } }
scala
最新推荐文章于 2025-05-19 20:35:37 发布