计算每个同学总分和平均分

 

package com.test_32
//1,迭代器,跳过第一个元素
import scala.collection.mutable.ListBuffer
import scala.io.Source
//成绩分析
case class Student(name:String,yumen:Int,shuxue:Int,yinyu:Int,total:Int,avg:Int)
object test1 {
  def main(args: Array[String]): Unit = {
    //读入成绩-按行去读取-跳过第一个元素
    val list=ListBuffer[Student]()
    val it = Source.fromFile("score.txt").getLines().drop(1)
    var 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
      shuxuezongfen+=shuxue
      //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).slice(0,3)
    //打印结果
    orderList.foreach(s=>println(s"姓名:${s.name},数学:${s.name},总分:${s.total}"))
    orderList.foreach(s=>println(s"姓名:${s.name},总分:${s.total}"))

  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值