scala练习

下表是学生信息表,包括姓名,性别,年龄

  • 1.使用studentList集合存储以上内容,遍历studentList打印输出
  • 2.创建集合boyList、girlList、girlgt18List 、top3List、girltop3List
  • 3.把所有男生存入boyList ,女生存入girlList ,大于等于18岁的女生存入girlgt18List
  • 4.年龄最大的3个学生放入top3List,年龄最大的3个女生放在girltop3List
  • 5.计算所有学生的平均年龄,所有男生的平均年龄,所有女生的平均年龄,打印输出
    在这里插入图片描述
package com.sunyong
case class Student(name:String,sex:String,age:Int)
object StudentPractice {
  def main(args: Array[String]): Unit = {
    val s1 = Student("张三","男",16)
    val s2 = Student("李四","女",17)
    val s3 = Student("王五","男",18)
    val s4 = Student("赵六","女",15)
    val s5 = Student("何七","女",19)
    val s6 = Student("宫八","男",20)
    val s7 = Student("申九","女",16)
    val s8 = Student("Rose","女",17)
    val s9 = Student("Jhon","男",18)
    val s10 = Student("Tim","女",15)
    val s11 = Student("阿旭","男",19)
    //放进studentList,遍历输出
    val studentlist = List[Student](s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11)
    println("******全部学生******")
    studentlist.foreach(x=>println(x.toString))
    //创建集合boyList、girlList、girlgt18List 、top3List、girlTop3List
    val boyList = studentlist.filter(x=>x.sex.equals("男"))
    println("******男学生******")
    boyList.foreach(x=>println(x.toString))
    val girlList = studentlist.filter(x=>x.sex.equals("女"))
    println("******女学生******")
    girlList.foreach(x=>println(x.toString))
    val girlgt18ist =girlList.filter(x=>x.age>=18)
    println("******大于等于18岁女学生******")
    girlgt18ist.foreach(x=>println(x.toString))
    println("******年龄最大的三个女生******")
    val girlTop3List =girlList.sortBy(x=>x.age).drop(girlList.length-3)
    girlTop3List.foreach(x=>println(x.toString))
    //计算所有学生的平均年龄,所有男生的平均年龄,所有女生的平均年龄,打印输出
    println("所有学生平均年龄:"+studentlist.map(x=>x.age).sum/studentlist.length.toDouble)
    println("所有男学生平均年龄:"+boyList.map(x=>x.age).sum/boyList.length.toDouble)
    println("所有女学生平均年龄:"+girlList.map(x=>x.age).sum/girlList.length.toDouble)
  }
}

运行效果如下:

******全部学生******
Student(张三,男,16)
Student(李四,女,17)
Student(王五,男,18)
Student(赵六,女,15)
Student(何七,女,19)
Student(宫八,男,20)
Student(申九,女,16)
Student(Rose,女,17)
Student(Jhon,男,18)
Student(Tim,女,15)
Student(阿旭,男,19)
******男学生******
Student(张三,男,16)
Student(王五,男,18)
Student(宫八,男,20)
Student(Jhon,男,18)
Student(阿旭,男,19)
******女学生******
Student(李四,女,17)
Student(赵六,女,15)
Student(何七,女,19)
Student(申九,女,16)
Student(Rose,女,17)
Student(Tim,女,15)
******大于等于18岁女学生******
Student(何七,女,19)
******年龄最大的三个女生******
Student(李四,女,17)
Student(Rose,女,17)
Student(何七,女,19)
所有学生平均年龄:17.272727272727273
所有男学生平均年龄:18.2
所有女学生平均年龄:16.5
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值