java实现简单图书管理系统

 更新时间:2022年03月16日 10:46:17   作者:BobAlice  
这篇文章主要为大家详细介绍了java实现简单图书管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java实现简单图书管理系统的具体代码,供大家参考,具体内容如下

JAVA练习的作业,题目如下:

设计一个图书管理系统类和用户类,要求具有以下功能:

(1). 查询和修改图书信息。
(2). 增加和删除图书信息。
(3). 个人借阅信息查询。
(4). 图书归还功能
(5). 用户管理功能和退出程序功能(注:用户信息可以保存在内存即可)

上代码:

User.java

public class User {
    String id;
    String name;
    int rentNumber;
    Book Rent[];
    User(String id,String name){
        rentNumber=0;
        this.id = id;
        this.name = name;
        Rent = new Book[15];
        for(int i=0;i<15;i++){
             Rent[i]=new Book("Z999"," ");
        }
    }
    void RentBook(Book b){
        Rent[rentNumber]=b;
        rentNumber++;
    }
    void Return(String bookId){
        int key=13;
        for(int i=0;i<15;i++){
            if(bookId.equals(Rent[i].bookId)){
                key =i;
            }
        }
        for(int i=key;i<14;i++){
            Rent[key].setName(Rent[key+1].bookName);
            Rent[key].setId(Rent[key+1].bookId);
        }
        rentNumber--;
    }
    
    void RentList(){       //借阅信息
        if(rentNumber>0){
            System.out.println("当前借阅图书:");
            for(int i=0;i<rentNumber;i++){
                Rent[i].display();
            }
        }
        
        else System.out.println("当前无借阅图书");
    }
}

Ex8.java

class Book{   //图书类
    String bookId;
    String bookName;
    Book(String Id,String Name){
        bookId = Id;
        bookName = Name;
    }
    void setId(String Id){
        bookId = Id;
    }
    void setName(String name){
        bookName = name;
    }    
    void display(){
        System.out.println("Id:"+bookId+"  "+"书名:"+bookName);
    }
}

class Library{    //系统类
    Book bookList[];
    int bookNumber;
    Library(){
        bookNumber=0;
         bookList = new Book[30];
        for(int i=0;i<30;i++){
             bookList[i]=new Book("Z999"," ");
        }
    }
    void AddBook(Book b){  //增加
        bookList[bookNumber]=b;
        bookNumber++;
    }
    void FindBook(String Id){              //查询
        for(int i=0;i<30;i++){
            if(Id.equals(bookList[i].bookId)){
                bookList[i].display();
            }
        }
    }
    void RewriteBook(String Id,String Name){//修改
        for(int i=0;i<30;i++){
            if(Id.equals(bookList[i].bookId)){
                bookList[i].setName(Name);
            }            
        }
    }
    void DeleteBook(String Id){  //删除
        int key=28;
        for(int i=0;i<30;i++){
            if(Id.equals(bookList[i].bookId)){
                key =i;
            }
        }
        for(int i=key;i<29;i++){
            bookList[key].setName(bookList[key+1].bookName);
            bookList[key].setId(bookList[key+1].bookId);
        }
    }
}

public class Ex8{
    public static void main(String args[]){
        Book book1= new Book("A001","Python数据分析实战");
        Book book2 = new Book("A002","Python机器学习");
        Book book3 = new Book("A003","C++基础教程");
        Library library = new Library();
        library.AddBook(book1);     //增加图书
        library.AddBook(book2);
        library.AddBook(book3);
        library.FindBook("A002");    //查询图书
        library.RewriteBook("A001", "码农翻身");//修改图书
        book1.display();
        library.DeleteBook("A001");//删除图书
        User Bob = new User("20181532", "Bob");
        Bob.RentBook(book3);    //借阅图书
        Bob.RentList();         //个人借阅信息查询。
        Bob.Return("A003");     //归还图书
        Bob.RentList();  
                
    }
}

主要使用了对象数组。

没有用菜单,分为两个文件,User.java和Ex8.java

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • java队列中Queue与Deque的区别面试精讲

    java队列中Queue与Deque的区别面试精讲

    这篇文章主要为大家介绍了java队列中Queue与Deque的区别面试精讲,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • 删除JAVA集合中元素的实现代码

    删除JAVA集合中元素的实现代码

    有时候我们要删除集合中的某些元素,那么就可以参考下面的代码
    2013-07-07
  • Springboot Mybatis Plus自动生成工具类详解代码

    Springboot Mybatis Plus自动生成工具类详解代码

    mybatis-plus 是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生,这篇文章带你使用Springboot Mybatis Plus自动生成工具类
    2021-11-11
  • Spring关闭Tomcat Servlet容器时内存泄漏问题解决方案

    Spring关闭Tomcat Servlet容器时内存泄漏问题解决方案

    这篇文章主要介绍了Spring关闭Tomcat Servlet容器时内存泄漏问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • FeignMultipartSupportConfig上传图片配置方式

    FeignMultipartSupportConfig上传图片配置方式

    这篇文章主要介绍了FeignMultipartSupportConfig上传图片配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • JAVA正则表达式校验qq号码的方法

    JAVA正则表达式校验qq号码的方法

    Java作为一种开发语言,有许多值得推荐的地方,但是它一直以来没有自带对正则表达式的支持。下面小编给大家带来了JAVA正则表达式校验qq号码的方法,需要的朋友参考下吧
    2018-04-04
  • java版微信公众平台消息接口应用示例

    java版微信公众平台消息接口应用示例

    这篇文章主要介绍了java版微信公众平台消息接口应用,结合实例形式对比分析了PHP与java应用微信公众平台接口的相关调用与操作技巧,需要的朋友可以参考下
    2017-07-07
  • 关于TreeMap自定义排序规则的两种方式

    关于TreeMap自定义排序规则的两种方式

    这篇文章主要介绍了关于TreeMap自定义排序规则的两种方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • springboot3整合knife4j详细图文教程(swagger增强)

    springboot3整合knife4j详细图文教程(swagger增强)

    开发api提供对应的接口规范进行联调或并行开发,api文档管理必不可少,常用的Knife4j基于swagger(依赖已经compile),可以进行管理,下面这篇文章主要给大家介绍了关于springboot3整合knife4j的相关资料,需要的朋友可以参考下
    2024-03-03
  • Java学习教程之定时任务全家桶

    Java学习教程之定时任务全家桶

    这篇文章主要给大家介绍了关于Java学习教程之定时任务全家桶的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11

最新评论