JAVA實(shí)現(xiàn)圖書管理系統(tǒng)項(xiàng)目
前言
相信再每一個(gè)學(xué)生在學(xué)習(xí)編程的時(shí)候,應(yīng)該都會(huì)寫的一個(gè)小項(xiàng)目——圖書管理系統(tǒng)。為什么這么說呢?因?yàn)槲艺J(rèn)為一個(gè)學(xué)校的氛圍很大一部分可以從圖書館的氛圍看出來,而圖書管理系統(tǒng)這個(gè)不大不小的項(xiàng)目,學(xué)生接觸的多,也算是比較熟悉,就不會(huì)有陌生感,能夠練手,有有些難度,所以,今天,我的小小項(xiàng)目也來了。
項(xiàng)目需求
設(shè)計(jì)前提
- 掌握java基本語法
- 熟悉使用流程控制
- 理解面向?qū)ο笏枷?/li>
- 熟練封裝,繼承,多態(tài)
- 熟悉使用接口,異常
- 熟悉使用集合
- 熟悉掌握I/o流相關(guān)操作
設(shè)計(jì)目標(biāo)
長期以來,學(xué)校都需要在圖書館設(shè)置志愿者在圖書館進(jìn)行圖書的借閱與整理,相對來說,比較麻煩,所以設(shè)計(jì)一個(gè)好的圖書管理系統(tǒng)就顯得很有必要,不過本次要做的肯定不是成品,只是一個(gè)簡單的設(shè)計(jì),通過IO流的輸入輸出,達(dá)到我們對數(shù)據(jù)的寫入寫出,對圖書和用戶的增刪改查,讓我們可以把所有的圖書玩弄于股掌之間。
設(shè)計(jì)結(jié)構(gòu)圖
功能解讀
- 讀者信息管理:包括讀者信息添加和讀者信息查詢與修改功能。用戶登錄成功之后,可以瀏覽所有讀者的信息,也可以檢索特定讀者的信息;同時(shí),可以對讀者信息進(jìn)行維護(hù),包括增加、刪除及修改。
- 圖書信息管理:包括圖書信息添加和圖書信息查詢與修改功能。用戶登錄成功之后,可以瀏覽所有圖書信息和檢索特定圖書的信息;也可以對圖書信息進(jìn)行維護(hù)。包括添加圖書、刪除圖書以及修改圖書信息圖書借閱管理:包括圖書借閱和圖書歸還功能。
- 圖書借閱功能,先輸入讀者的編號,然后輸入要借閱的圖書的信息,記錄系統(tǒng)當(dāng)前時(shí)間即借閱時(shí)間;圖書歸還功能,輸入讀者的編號,選擇其名下已借閱的圖書,判斷當(dāng)前日期即歸還日期與借閱日期的差值是否超過了規(guī)定的期限,計(jì)算罰金,從而進(jìn)行圖書的歸還操作。
- 基礎(chǔ)信息維護(hù):包括圖書類別設(shè)置、讀者類別設(shè)置及罰金設(shè)置。圖書類別設(shè)置,可以對圖書的類別進(jìn)行增加、刪除、修改和查詢;讀者類別設(shè)置可以對讀者的類別進(jìn)行增加、刪除、修改和查詢;罰金設(shè)置,可以指定超期一天的罰金標(biāo)準(zhǔn)。
- 用戶管理:包括修改密碼、用戶添加和刪除。修改密碼,是指當(dāng)前用戶修改自己的密碼;用戶添加和刪除,是對新增和去除系統(tǒng)用戶時(shí)對用戶信息的維護(hù)。
項(xiàng)目實(shí)現(xiàn)
基本對象的設(shè)置
首先實(shí)現(xiàn)的是各個(gè)模塊的建立比如圖書,圖書類別,用戶,用戶類別,借閱表者幾個(gè)大的對象。
BookType
/** 圖書類型編號、圖書類型名稱 **/ private int typeid; private String name;
BOOK
/** 圖書實(shí)體:圖書編號ISBN、圖書名稱、作者、出版社、出版日期、數(shù)量、單價(jià)、圖書類型 **/ private int bookId; private String bookName; private String author; private String publish; private Date publishDate = new Date(); private int count; private int price;
ReaderType
/** 讀者類型:讀者類型編號、讀者類型名稱、可借閱天數(shù)、可借閱數(shù)量 **/ private int typeid; private String Tupeidname; private int limit; private int maxborrownum;
Reader
/** 讀者實(shí)體:讀者編號、讀者姓名、出生日期、性別、電話、所在院系、注冊日期、讀者類別 **/ private int readerid; private String name; private Birthday birthday = new Birthday(); private String sex; private String phone; private String dept; private Date date = new Date(); private ReaderType theReaderType = new ReaderType();
通過IO流的寫入寫出
添加
查找
利用集合的方式先將數(shù)據(jù)讀入集合,最后退出時(shí)在一并讀書數(shù)據(jù),提高效率。也可以采用數(shù)據(jù)做一步寫一步,這樣雖然數(shù)據(jù)的更新會(huì)更及時(shí),但是運(yùn)行效率會(huì)制成降低,不建議這樣寫。
總結(jié)
因?yàn)槊總€(gè)人寫都會(huì)有不一樣的寫法,我這個(gè)只是給大家一個(gè)參考性的作用,也不給大家分享界面設(shè)計(jì)這么簡單的東西了。下面給大家分享兩個(gè)資源,一個(gè)時(shí)簡單的圖書管理系統(tǒng),僅實(shí)現(xiàn)了IO流的讀入和讀出,日志也寫上了,在我的資源里面,大家可以下載查看。
查看這篇博客的人可以免費(fèi)下載一個(gè)簡單版的圖書管理系統(tǒng)作為參考:在百度網(wǎng)盤里面。
鏈接:https://pan.baidu.com/s/1JfkGogp_CGaxJsAXJ-Pypw
提取碼:1234
到此這篇關(guān)于JAVA實(shí)現(xiàn)圖書管理系統(tǒng)項(xiàng)目的文章就介紹到這了,更多相關(guān)JAVA 圖書管理系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java中map與實(shí)體類的相互轉(zhuǎn)換操作
這篇文章主要介紹了java中map與實(shí)體類的相互轉(zhuǎn)換操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07springboot啟動(dòng)時(shí)運(yùn)行代碼詳解
在本篇內(nèi)容中我們給大家整理了關(guān)于在springboot啟動(dòng)時(shí)運(yùn)行代碼的詳細(xì)圖文步驟以及需要注意的地方講解,有興趣的朋友們學(xué)習(xí)下。2019-06-06SpringBoot如何使用ApplicationContext獲取bean對象
這篇文章主要介紹了SpringBoot 如何使用ApplicationContext獲取bean對象,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11Java實(shí)現(xiàn)導(dǎo)出ZIP壓縮包的方法
這篇文章主要介紹了Java實(shí)現(xiàn)導(dǎo)出ZIP壓縮包的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11idea設(shè)置@Author文件頭注釋的實(shí)現(xiàn)步驟
本文主要介紹了idea設(shè)置@Author文件頭注釋的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07