步骤任务:
1. 使用case class创建图书信息类Book:包含四个属性:ID,书名,作者,价格,数量。
2. 创建一个名为bookList的可变List,它只能用来保存Book的实例。
3. 初始化三本不同的书(注意id不同就是不同的书),加入到bookList中。
4. 添加一本已经存在的书。此时应该去修改bookList中对应书目的数量,而不是去添加一条新数据。
5. 根据图书名称查询是否在列表中(通过遍历列表对比名称)
6. 删除指定书名的书
7. 删除指定ID的书
8. 对于图书按价格从高到低排序。
9. 遍历图书列表,并打印每本书的详细信息
10. 计算全部总的金额
代码
object caseclass03 {
// 1
case class Book(id:String, name:String, author:String, price:Double, amount:Int) {
}
def main(args: Array[String]): Unit = {
// 2
val book1 = Book("1","凡人修仙传","忘语", 80.5, 10)
val book2 = Book("2","平凡的世界","路遥", 50, 9)
val book3 = Book("3","围城","钱钟书", 20, 5)
// 3
val bookList = scala.collection.mutable.ListBuffer(book1,book2,book3)
//7
val id = "1"
val rst = bookList.find(book=>book.id == id)
if(rst.isDefined){
bookList -= rst.get
println(s"删除成功")
}
// 8
// val sortList = bookList.sortBy(_.price)
val sortList = bookList.sortWith((a,b)=>a.price>b.price)
//9
bookList.foreach(ele =>{
println(s"${ele.id} ${ele.name} ${ele.author} ${ele.price} ${ele.amount}")
})
// 10
var total:Double = 0
bookList.foreach(ele =>{
total += ele.price*ele.amount
})
println(s"总的价格是:${total}")
}
}
输出结果
删除成功
2 平凡的世界 路遥 50.0 9
3 围城 钱钟书 20.0 5
总的价格是:550.0