习题:梦想清单管理

16 阅读1分钟

任务背景:梦想清单管理

1.使用case class定义DreamItem类。它的属性有:内容,是否完成,截止日期,优先级

2.定义可变Array来保存DreamItem

3.天假3个梦想

4.将第二个梦想设置为已完成

5.调高第三个梦想的优先级

6.根据优先级从高到低排序

7.把优先级排名前五的梦想保存到一个新的列表中

8.循环输出梦想列表

package array

// 可变的
import scala.collection.mutable.ArrayBuffer

object array02 {

  // 1. 使用case class定义DreamItem类。它的属性有:内容,是否完成,截止日期,优先级
  case class DreamItem(content: String, var isDons: Boolean, deadline: String, var priority: Int)

  def main(args: Array[String]): Unit = {

    // 2,3. 定义可变Array来保存DreamItem,并添加3个梦想
    val list = ArrayBuffer(
      DreamItem("赚到100W", false, "2028-01-01", 2),
      DreamItem("1W个粉丝", false, "2026-12-01", 2),
      DreamItem("跑15km", false, "2026-06-06", 2),
    )

    // 4. 将第二个梦想设置为已完成
    list(1).isDons = true

    // 5. 调高第三个梦想的优先级(将优先级从2提升到1)
    list(2).priority = 1

    // 6. 根据优先级从高到低排序
    list.sortInPlaceBy(_.priority)

    // 7. 把优先级排名前五的梦想保存到一个新的列表中
    val topFiveDreams = list.take(5)

    // 8. 循环输出梦想列表
    println("梦想清单:")
    topFiveDreams.foreach(ele => {
      println(s"${ele.content}, 截止日期: ${ele.deadline}, 优先级: ${ele.priority}, 状态: ${if (ele.isDons) "已完成" else "未完成"}")
    })
  }
}