package Scala3
import scala.collection.mutable.ListBuffer
//1
case class Book(var ID:String,var bookName: String, var author: String,var price: Double,var number:Int) {
}
object timu {
def main(args: Array[String]): Unit = {
//2
val BookList=ListBuffer[Book]()
//3
BookList+=new Book("001","西游记","吴承恩",23.4,100)
BookList+=new Book("002","星际远航:宇宙边缘的探索者"," 林羽",69,100)
BookList+=new Book("003","时间裂缝:错乱时空的冒险","苏晓",78,28)
println(BookList)
//4.添加一本书
val book1=Book("002","星际远航:宇宙边缘的探索者"," 林羽",69,100)
// //如果已经包含这本书,直接去修改数量
// for(b<-BookList){
println(b.ID)
// if(b.ID==book1.ID){//同一本书
println(b)
// b.number+=book1.number
// println(b)
//
// }
// }
//查找,是否ID为book.ID的元素,找到就返回,没有找到,就返回None
val rs=BookList.find(_.ID==book1.ID)
println(rs)
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
var id = "三体"
val rs3 = BookList.find(_.ID == id)
if (rs3.isEmpty) {
println(s"id:$id 不存在,删除失败")
} else {
println(s"id:$id 存在,删除成功")
BookList -= rs3.get
}
//8.价格顺序
val or=BookList.sortWith((a,b)=>a.price>b.price)
println(or)
//9.遍历
BookList.foreach(el=>{
println(s"书名:${el.bookName},作者:${el.author},价格:${el.price},数量:${el.number}")
})
//10.计算全部金额
var sum:Double=0
BookList.foreach((w=>{
sum+=(w.number*w.price)
}))
println(s"总的金额是:${sum}")
}
}
Scala例题
刘翔在线犯法2024-11-14 14:56
相关推荐
她的男孩2 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程爱读源码的大都督2 小时前
Claude Code源码分析(三):为什么系统提示词中需要有tools呢?爱勇宝2 小时前
Claude Code 被曝暗藏“隐形检测”代码:封代理不是最可怕的,可怕的是你根本不知道它在干什么ITOM运维行者2 小时前
从零搭建企业级服务器监控体系:踩坑实录与架构设计用户4099322502122 小时前
Vue状态管理入门第四章:组合式store和SSR风险用户34232323763172 小时前
SPI 通信与高速外设驱动详解魏祖潇3 小时前
SDD 完整指南——Spec 端打底、Story 端交付、留白区feelmylife593 小时前
消息队列可靠投递与幂等消费 -- 从"消息丢了"到"消息别重复"的完整工程实践雪隐3 小时前
个人电脑玩AI-10让5060 Ti给你打工——部署 Odysseus:终于有个能打的"AI管家"了copyer_xyf3 小时前
FastAPI 如何连接 MySQL