首页 > 其他分享 >Scala练习

Scala练习

时间:2024-11-12 16:44:39浏览次数:3  
标签:el val Scala bookName 练习 BookList println ID

import scala.collection.mutable.ListBuffer
//1.使用 case class 创建图书信息类 Book:
case class Book(ID:String,bookName:String,author:String,price:Double,var amount:Int)
object demo1 {
  def main(args: Array[String]): Unit = {
    //2.创建一个名为 BookList 的可变 List:
    val BookList = ListBuffer[Book]()

    //.3初始化三本不同的书:
    BookList += Book("001","book1","author1",100,10)
    BookList += Book("002","book2","author2",200,20)
    BookList += Book("003","book3","author3",300,30)

    //4.添加一本书
    val book1 = Book("002","b","b2",150,5)
    //如果已经包含这本书,直接去修改数量
    val rs = BookList.find(_.ID == book1.ID)
    if(rs.isEmpty){
      println("没有")
      BookList += book1
    }else{
      println("有")
      val s = rs.get  //拿出具体的数据
      s.amount += book1.amount //数量增加
    }

    //5.根据名称去查询
    var bookName = "book4"
    val rs1 = BookList.find(_.bookName == bookName)
    if(rs1.isEmpty)
      println(s"《$bookName》 不存在")
    else
      println(s"《$bookName》 存在")

    //6.删除指定书名的书
    bookName = "book1"
    val rs2 = BookList.find(_.bookName == bookName)
    if (rs2.isEmpty)
      println(s"《$bookName》 不存在,删除失败")
    else {
      println(s"《$bookName》 存在,删除成功")
      BookList -= rs2.get
    }

    //7.删除指定ID的书
    val ID = "002"
    val rs3 = BookList.find(_.ID == ID)
    if(rs3.isEmpty)
      println(s"id:$ID 不存在,删除失败")
    else {
      println(s"id:$ID 存在,删除成功")
      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.author}")
    })

    //10.计算全部的金额
    var sum:Double = 0;
    BookList.foreach((el =>{
      sum += (el.amount * el.price)
    }))
    println(s"总金额是:${sum}")
  }
}

标签:el,val,Scala,bookName,练习,BookList,println,ID
From: https://blog.csdn.net/2402_83403264/article/details/143718705

相关文章

  • 文件包含漏洞——练习靶场lfi-labs
    目录 原理lfi-labs1lfi-labs2lfi-labs3lfi-labs4lfi-labs5lfi-lab6 原理文件包含:为了更好地使用代码重用性,引入了文件包含函数,可以通过文件包含函数将文件包含进来,直接使用包含文件的代码原因:在包含文件时候,为了灵活包含文件,将被包含文件设置为变量,通过动态变量......
  • Python编程:从入门到实践(第3版)_练习10.5:访客薄
    编写一个while循环,提示用户输入其名字。收集用户输入的所有名字,将其写入guest_book.txt,并确保这个文件中的每条记录都独占一行。frompathlibimportPathpath=Path('guest_book.txt')contents="请输入你的姓名(最后一位请输入'q'):\n"guest_names=[]wh......
  • 数组算法练习题
    第一题:寻找锦鲤公司年会有一个寻找锦鲤的游戏,每一个员工随意写一个字,如果在“锦鲤”词库中有这个字,那么就奖励500元锦鲤红包,否则就没有,每人只能玩一次。现有锦鲤字库如下,它们按照Unicode编码值从小到大排序:char[]koiFishWords={'一','今','地','定','年','开','我','果','......
  • SQL练习题之统计连续登录七天的用户(开窗实现)
    4.(困难)统计连续登录七天(含七天)以上的用户(开窗和不开窗都要求实现)。SQL文件:user_sign.sql实现思路:#对日期排序,并用denserank开窗排序#对排序编号或日期的天去重,排除一天登录两次的情况#让日期与排序序号做差,如若连续,则差会相等#分组计数相同的差值#差值相等的大于等于......
  • Scala:Scala的Map集合
    Scala的Map概述 Map(映射)是一种可迭代的键值对(Key/Value)结构,所有值都可以通过键来获取,Map中的键都是唯一的。定义Map时,需要为键值对定义类型。 ————Scala的Map的定义————在Java中,Map是以键值对(K,V)的形式存在的,例如(Key1,V1)。在Scala中,Map集合同样是以......
  • 10-文件包含、CSRF、SSRF相关练习
    1、文件包含(1)DVWA环境下去包含其他目录的任意3个文件,要求使用相对路径../../../../../(输入多个../返回系统根目录),包含账户信息文件:/etc/passwd包含账户组信息文件:/etc/group包含磁盘配置文件:/etc/fstab(2)远程文件包含使用DVWA的文件包含漏洞包含Upload-......
  • 真题练习44-Word字处理-全国计算机等级考试一级计算机基础及MS Office应用考试【汪老
    第44组请根据题目要求,完成下列操作:在考生文件夹下,打开文档WORD.DOCX,按照要求完成下列操作并以该文件名(WORD.DOCX)保存文档。1.将标题段(“模型变量构建”)的文本效果设置为内置样式“渐变填充–灰色”,并修改其阴影效果为“透视/左上”、阴影颜色为蓝色(标准色);将标题段文字设置为......
  • 真题练习45-PowerPoint演示文稿-全国计算机等级考试一级计算机基础及MS Office应用考
    第45组1.新建演示文稿yswg.pptx,共4张幻灯片,每张幻灯片的页脚插入与其幻灯片编号相同的数字,例如第四张幻灯片,页脚内容为“4”。2.为整个演示文稿应用“丝状”主题,放映方式为“观众自行浏览(窗口)”。按各幻灯片页脚内容从大到小重排幻灯片的顺序。3.第一张幻灯片版式为“标题幻灯......
  • 顺序表小小练习题
    文章目录前言1、移除元素题目思路代码2、删除有序数组中的重复项题目思路代码3、合并两个有序数组题目思路代码总结前言上篇博客学习了线性表之顺序表,模拟实现了顺序表的一些功能。今天小编为大家奉上有关顺序表的一些题目,慢慢食之。1、移除元素习题链接:移除......
  • Day13 备战CCF-CSP练习
    Day13题目描述题目分析大模拟,用栈储存每一个多项式,最后根据导数的加法原则依次求导相加,注意取模。C++代码#pragmaGCCoptimize(3,"Ofast","inline")#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;constintN=100010,MOD=1e9+7;string......