scala的应用题目

package ggjhs11and12

import scala.collection.mutable.ListBuffer
//1
case class Book(var bookID: String, var bookName: String, var author: String, var price: Double, var number: Int)

object Test1 {
  def main(args: Array[String]): Unit = {
//    2
    val bookList = ListBuffer[Book]()
//    3
    bookList += Book("001", "西游记", "吴承恩", 33.6, 100)
    bookList += Book("002", "红楼梦", "曹雪芹", 25.3, 90)
    bookList += Book("003", "三国演义", "罗贯中", 25.3, 80)
//    4:添加一本书
    val book1 = Book("001", "西游记", "吴承恩", 33.6, 1)
    //    如果包含这本书,直接修改数量
    //    println(bookList)
    //    for (i <- bookList) {
          println(i.bookID)
    //      if (i.bookID == book1.bookID) {
    //        i.number += book1.number
    //      }
    //    }
    //    查找,是否有ID为book1.id 的元素,找到了就返回,没有找到,就返回None
    val rs = bookList.find(_.bookID == book1.bookID)
    if (rs.isEmpty) {
      println("没有")
      bookList += book1
    } else {
      println("有")
      val s = rs.get
      s.number += book1.number
    }
//    5:根据名称去查询
    var bookName = "西游记"
    val rs1 = bookList.find(_.bookName == bookName)
    if (rs1.isEmpty)
      println(s"《$bookName》不存在")
    else
      println(s"《$bookName》存在")
//6:删除指定书名的书
    bookName = "红楼梦"
    val rs2 = bookList.find(_.bookName == bookName)
    if (rs2.isEmpty)
      println(s"《$bookName》不存在,删除失败")
    else {
      println(s"《$bookName》存在,删除成功")
      bookList -= rs2.get
    }
//    7:删除指定ID的书
    val bookID = "002"
    val rs3 = bookList.find(_.bookID == bookID)
    if (rs3.isEmpty)
      println(s"bookID:$bookID 不存在,删除失败")
    else {
      println(s"bookID:$bookID 存在,删除成功")
      bookList -= rs3.get
    }
//    8:价格顺序
    val orderList = bookList.sortWith((a,b)=>a.price>b.price)

//9:遍历
    orderList.foreach(el =>{
      println(s"书名${el.bookName},作者${el.author},价格${el.price},数量${el.number}")
    })
//    10计算全部金额
var sum:Double = 0;
    bookList.foreach((el =>{
      sum += (el.number * el.price)
    }))
    println(s"总的金额是:${sum}")
  }


}

你可能感兴趣的:(scala,开发语言,后端)