IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 图书管理系统(0基础食用) -> 正文阅读

[开发测试]图书管理系统(0基础食用)

图书管理系统

本栏所写均为面向基础小白食物,本文涉及知识均为JavaSE基础篇,望悉知!!!

image-20220426140515884

实现功能

1、检测登录(由于本实验未涉及IO以及数据库,所以,这里只是简单的进行匹配验证 默认账户名及密码: jinhuan  pass 可自行修改)
2、图书添加:
	图书类:书名
		   图书编号
		   出版社
		   出版日期(date类,后期录入使用日期转换)
		   价钱
		   状态值(bool类型 默认为true,为false表明被删除)
3、图书删除
	根据输入检所对应书籍
	设置其状态值为false——>即做伪删除
4、修改
	检索对应图书
	设置其各个属性值
5、查询图书
	根据书名模糊查询
	根据书籍编号模糊查询
6、查看所有图书
	查看方式:
		1、按照录入顺序
		2、按照价钱升序<使用Compator>
		3、按照价钱降序<使用Compator>
		4、按照出版日期先后<使用Compator>
	注意在进行遍历的时候,先判断书籍状态

好啦,以上就是全部内容啦,下面为实现细节,大家可以以此为鉴,则其善者,去其糟粕,老规矩,文末附上了下载链接,欢迎大家三连后食用

核心代码

Dao层

书籍模糊查找
/**
 * @param name:
 * @return
 * decription:根据书名进行模糊查询匹配
 */
public List<Book> findBookByName(String name){
    List<Book> resList = new ArrayList<>();
    for (Book book : list) {
        if (book.getStatus() && book.getName().contains(name)){
           resList.add(book);
        }
    }
    return resList;
}
四种遍历方式
默认输出
/**
 * @param books:  存储书籍的“书柜”
 * @return void
 * decription: 遍历输出该"书柜中的书籍"
 */
public void print(List<Book> books) {
    if (books == null || books.size() == 0){
        System.out.println("当前未存储任何书籍!");
        return;
    }
    for (Book book : books) {
        if (book.getStatus()){
           System.out.println(book);
        }
    }
}
按照价格升序
/**
 * 按照升序排列
 * */
public void printByUpPrice(List<Book> list) {
    if (list == null || list.size() == 0){
        System.out.println("当前未存储任何书籍!");
        return;
    }
    Collections.sort(list, new Comparator<Book>() {
        @Override
        public int compare(Book o1, Book o2) {
            if (o1.getPrice() > o2.getPrice()){
                return 1;
            }else if (o1.getPrice() < o2.getPrice()){
                return -1;
            }else{
                return 0;
            }
        }
    });
    for (Book book : list) {
        if (book.getStatus()){
           System.out.println(book);
        }
    }
}
按照价格降序
/**
 * 按照降序排列
 * */
public void printByDownPrice(List<Book> list) {
    if (list == null || list.size() == 0){
        System.out.println("当前未存储任何书籍!");
        return;
    }
    Collections.sort(list, new Comparator<Book>() {
        @Override
        public int compare(Book o1, Book o2) {
            if (o1.getPrice() > o2.getPrice()){
                return -1;
            }else if (o1.getPrice() < o2.getPrice()){
                return 1;
            }else{
                return 0;
            }
        }
    });
    for (Book book : list) {
        if (book.getStatus()){
            System.out.println(book);
        }
    }
}
按照日期先后排序
/**
 * 按照日期先后排列
 * */
public void printByDate(List<Book> list) {
    if (list == null || list.size() == 0){
        System.out.println("当前未存储任何书籍!");
        return;
    }
    Collections.sort(list, new Comparator<Book>() {
        @Override
        public int compare(Book o1, Book o2) {
            if (o2.getPublicationDate().after(o1.getPublicationDate())){
                return 1;
            }else if (o2.getPublicationDate().after(o1.getPublicationDate())){
                return -1;
            }else{
                return 0;
            }
        }
    });
    for (Book book : list) {
        if (book.getStatus()){
            System.out.print(book+"\t");
        }
    }
    System.out.println();
}

image-20220426140604389

view层

书籍添加
/**
 * 添加操作界面
 * */
private void addMenu() {
    System.out.println("请输入要添加的书名:");
    String name = input.next();
    System.out.println("请输入该书的编号");
    String id = input.next();
    Double price;
    System.out.println("请输入该书的单价:");
    do{
        if (input.hasNextDouble()){
            price = input.nextDouble();
            break;
        }else{
            System.out.println("格式输入有误,请检查后重试!");
            input.next();
        }
    }while (true);
    System.out.println("请输入该书的出版社:");
    String press = input.next();
    Date publicationDate;
    while (true){
        System.out.println("请输入该书的出版日期:请依次输入年月日,以小数点隔开!如(2001.1.12)");
        String time = input.next();
        if (formateDate(time) != null){
            publicationDate = formateDate(time);
            break;
        }
    }
    System.out.println(bookDao.addBook(new Book(name,price,true,id,press,publicationDate)) ? "添加成功!" : "添加失败");
    while (true){
        System.out.println("是否继续添加图书? 1-是 0-否");
        String command = input.next();
        if ("1".equals(command)){
            addMenu();
            break;
        }else if ("0".equals(command)){
            commandMenu();
            break;
        }else {
            System.out.println("格式输入有误,请检查后重试!");
        }
    }
}
输入日期转换
/**
 * 日期转换
 * */
public Date formateDate(String date) {
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd");
    try {
        return simpleDateFormat.parse(date);
    } catch (ParseException e) {
        System.out.println("格式输入有误!");
    }
    return null;
}

检测登录
/**
 * 检查登录信息
 * */
private boolean checkUser(String username, String password) {
    return "jinhuan".equals(username) && "pass".equals(password);
}

源码下载链接

以上均为本人个人观点,借此分享,希望能和大家一起进步。如有不慎之处,劳请各位批评指正!鄙人将不胜感激并在第一时间进行修改!

image-20220327095755218

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-04-27 11:36:23  更:2022-04-27 11:36:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 7:51:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码