代码制作:梦想清单管理

33 阅读1分钟

任务背景:梦想清单管理。

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

2. 定义可变Array来保存DreamItem。

3. 添加3个梦想

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

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

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

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

8. 循环输出梦想列表

package array

object array03 {
  // 1. 定义DreamItem类
  case class DreamItem(content: String, var isDone: Boolean, deadline: String, var prior: Int)

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

    val dreamList = scala.collection.mutable.ArrayBuffer(
      // 3. 添加3个梦想
      DreamItem("发财", false, "2026-12-30", 2),
      DreamItem("减肥", false, "2026-12-30", 4),
      DreamItem("和朋友一起旅游", false, "2026-12-30", 3),
    )

    // 4. 将第2个梦想(下标1)设置为已完成
    dreamList(2).isDone = true

    // 5. 调高第3个梦想(下标2)的优先级(比如将优先级改为0,数值越小优先级越高)
    dreamList(2).prior = 1

    // 6. 根据优先级从高到低排序(数值小的优先级高)
    val orderListed = dreamList.sortBy(_.prior)

    // 7. 保存优先级前5的梦想到新列表(当前只有3个,全部保存)
    val top5List = orderListed.take(2)

    // 8. 循环输出梦想列表
    top5List.foreach(ele => {
      println(ele.content, if (ele.isDone) "已实现" else "未实现", ele.prior)
    })
  }
}