object library1 {
def main(args: Array[String]): Unit = {
val library = scala.collection.mutable.Map[String, (String, String, Int)](
"B001" -> ("《三体》", "刘慈欣", 10),
"B002" -> ("《活着》", "余华", 8),
"B003" -> ("《哈利·波特与魔法石》", "J.K.罗琳", 15)
)
println("\n=== 添加两本新书 ===")
library += "B004" -> ("《百年孤独》", "加西亚·马尔克斯", 5)
library += "B005" -> ("《月亮与六便士》", "毛姆", 7)
println("添加后的图书馆书籍:")
println(library)
val book = "B001"
val rst = library.get(book)
if (!rst.isEmpty) {
println(rst.get)
} else {
println("图书馆没有这本书")
}
println("\n=== 修改书籍库存 ===")
val updateBookId = "B002"
library.get(updateBookId) match {
case Some((name, author, oldStock)) =>
val newStock = 12
library(updateBookId) = (name, author, newStock)
println(s"已将编号 $updateBookId《$name》的库存从 $oldStock 修改为 $newStock")
case None =>
println(s"未找到编号为 $updateBookId 的书籍,无法修改库存")
}
println(library)
println("\n=== 删除一本书 ===")
val deleteBookId = "B004"
library -= deleteBookId
println(s"已删除编号为 $deleteBookId 的书籍")
println(library)
println("\n=== 图书馆最终书籍清单 ===")
library.foreach { case (bookId, (name, author, stock)) =>
println(f"编号:$bookId%-6s 书名:$name%-20s 作者:$author%-15s 库存:$stock%2d 本")
}
}
}