Scala习题(2)

每个学生在班级的整体排名

package test5

import scala.collection.mutable.ListBuffer

object test5_2 {
  def main(args: Array[String]): Unit = {
    case class Student(name: String,
                       zongfen: Int,
                      var mingci:Int)

    val list = ListBuffer[Student]()
    //存在并列的名词
    list += Student("孙涛",90,0)
    list += Student("林峰",105,0)
    list += Student("周梅",102,0)
    list += Student("吴刚",101,0)
    list += Student("郑洁",90,0)
    list += Student("陈晨",90,0)

    //对list进行排序,按总分排序
    val orderList = list.sortWith((a,b)=>a.zongfen>b.zongfen)

    orderList.foreach(println)
    //对有序的列表,从前开始向后比较--比较
    //(1)如果当前的分数不等于预设分数,则名词 +1
    //(2)如果当前的分数等于预设分数,则名词不变
    var curScore = -1
    var mingci = 0;
    for (elem <- orderList){
      if (elem.zongfen != curScore){
        mingci += 1
        elem.mingci = mingci
        curScore = elem.zongfen
      }else{
        elem.mingci = mingci
      }
    }
//    orderedList.foreach(println)
//    println("-"*40)
    list.foreach(println)
  }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值