题目.md 3.0 KB

第 9 题:构造方法 + 封装 + 对象数组 + 排序——BookManager ⭐⭐⭐⭐

包名p09_bookmanager

图书类(类名自拟,置于 p09_bookmanager 包下)

  • 私有属性id(编号,int)、title(书名,String)、price(价格,double)
  • 全参构造方法
  • getter/setter

管理类(类名自拟,置于 p09_bookmanager 包下)

包含以下方法:

方法 说明
initBooks() 创建并返回一个包含 5 本图书 的数组(使用全参构造初始化)
printBooks(图书数组类型 books) 遍历输出所有图书信息
sortByPrice(图书数组类型 books) 按价格从高到低排序(冒泡排序)
searchByTitle(图书数组类型 books, String title) 根据书名查找图书,返回找到的图书对象(找不到返回 null

测试类要求(测试类类名自拟,置于 p09_bookmanager 包下)

  1. 调用 initBooks() 初始化图书数组
  2. 调用 printBooks() 输出原始顺序
  3. 调用 sortByPrice() 排序后再次输出
  4. 调用 searchByTitle() 查找某本书,输出查找结果

示例数据

new 图书类(1001, "Java从入门到精通", 79.0)
new 图书类(1002, "数据结构与算法", 65.0)
new 图书类(1003, "设计模式之禅", 58.0)
new 图书类(1004, "深入理解JVM", 89.0)
new 图书类(1005, "计算机网络", 45.0)

示例运行效果

========== 原始顺序 ==========
编号:1001,书名:Java从入门到精通,价格:79.0
编号:1002,书名:数据结构与算法,价格:65.0
编号:1003,书名:设计模式之禅,价格:58.0
编号:1004,书名:深入理解JVM,价格:89.0
编号:1005,书名:计算机网络,价格:45.0

========== 按价格从高到低排序 ==========
编号:1004,书名:深入理解JVM,价格:89.0
编号:1001,书名:Java从入门到精通,价格:79.0
编号:1002,书名:数据结构与算法,价格:65.0
编号:1003,书名:设计模式之禅,价格:58.0
编号:1005,书名:计算机网络,价格:45.0

========== 查找图书 ==========
查找 "设计模式之禅":
  找到了!编号:1003,价格:58.0

查找 "操作系统":
  未找到该图书!

💡 提示

  • initBooks()无参有返回值方法,在方法内部创建数组并返回
  • 冒泡排序中比较价格时,使用 > 进行降序排列(从高到低)
  • searchByTitle() 使用 equals()equalsIgnoreCase() 比较书名
  • 管理类的方法都是实例方法,测试类中需先创建管理类对象再调用