更新時(shí)間:2022-04-22 10:13:32 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2151次
動(dòng)力節(jié)點(diǎn)小編來(lái)告訴大家Java圖書(shū)管理系統(tǒng)基本架構(gòu)代碼。
書(shū)類(lèi):
包 book_management;
//圖書(shū)實(shí)體類(lèi)
公共課本{
//標(biāo)題
私人字符串書(shū)名;
//作者
私人字符串作者;
//價(jià)格
私人雙倍價(jià)格;
//圖書(shū)分類(lèi)
私有字符串類(lèi)型;
//借閱狀態(tài):默認(rèn)為false
私有布爾 isBorrowed;
public Book(String bookName,String author,double price,String type){
this.bookName = 書(shū)名;
this.author = 作者;
this.price = 價(jià)格;
this.type = 類(lèi)型;
}
//只有需要修改的屬性才需要提供setter-價(jià)格、類(lèi)型和借貸狀態(tài)
公共無(wú)效 setPrice(雙倍價(jià)格){
this.price = 價(jià)格;
}
公共無(wú)效 setType(字符串類(lèi)型){
this.type = 類(lèi)型;
}
公共無(wú)效 setBorrowed(布爾借用){
isBorrowed = 借來(lái)的;
}
公共字符串 getBookName(){
返回書(shū)名;
}
公共字符串 getAuthor(){
返回作者;
}
公共雙 getPrice(){
退貨價(jià)格;
}
公共字符串 getType(){
返回類(lèi)型;
}
公共布爾 isBorrowed(){
返回是借來(lái)的;
}
@覆蓋
公共字符串 toString() {
返回 "書(shū){" +
"書(shū)名='" + 書(shū)名 + '\'' +
", 作者='" + 作者 + '\'' +
", 價(jià)格=" + 價(jià)格 +
", type='" + 類(lèi)型 + '\'' +
", isBorrowed=" + isBorrowed +
'}';
}
}
bookList 類(lèi):
包 book_management;
進(jìn)口來(lái).B;
導(dǎo)入 java.util.ArrayList;
導(dǎo)入 java.util.List;
//書(shū)架
公共類(lèi)書(shū)單{
// Books 存儲(chǔ)當(dāng)前書(shū)架中的所有書(shū)籍,每個(gè) Book 對(duì)象都是一個(gè) Book 的實(shí)體
私有靜態(tài) List<Book> books = new ArrayList<>();
// booksName 存儲(chǔ)所有書(shū)名——查詢(xún)書(shū)等通過(guò)書(shū)名操作
私有靜態(tài)列表<String> bookName = new ArrayList<>();
// 初始化books和booksName,默認(rèn)將四大名著放入書(shū)架
// 使用靜態(tài)代碼塊初始化靜態(tài)變量
靜止的 {
books.add(new Book("西游記","吳承恩",99.99,"小說(shuō)"));
books.add(new Book("紅樓夢(mèng)","曹雪芹",108.9,"小說(shuō)"));
books.add(new Book("水滸傳","施耐安",199.89,"小說(shuō)"));
books.add(new Book(《三國(guó)志》,"羅冠中",145.39,"小說(shuō)"));
bookName.add("西游記");
bookName.add("紅樓夢(mèng)");
bookName.add("水滸傳");
bookName.add("三國(guó)志");
}
公共無(wú)效顯示書(shū)(){
對(duì)于(書(shū)籍書(shū)籍:書(shū)籍){
System.out.println(book);
}
}
公共布爾包含(字符串書(shū)名){
返回 BookList.bookName.contains(booksName);
}
公共無(wú)效添加(書(shū)本){
書(shū)籍。添加(書(shū)籍);
bookName.add(book.getBookName());
}
}
主要方法:
包 book_management;
導(dǎo)入 java.util.Scanner;
//整個(gè)程序的入口
公共類(lèi)主要{
私人靜態(tài)掃描儀掃描儀=新掃描儀(System.in);
公共靜態(tài)無(wú)效主要(字符串[]參數(shù)){
用戶(hù)用戶(hù)=登錄();
BookList bookList = new BookList();
而(真){
int 選擇 = user.menu();
如果(選擇 == -1){
System.out.println("再見(jiàn)!");
休息;
}
user.doOperation(choice,bookList);
}
}
私人靜態(tài)用戶(hù)登錄(){
System.out.println("請(qǐng)輸入用戶(hù)名:");
字符串名稱(chēng) =scanner.next();
System.out.println("請(qǐng)選擇您的角色。1為普通用戶(hù),0為管理員");
int 選擇=scanner.nextInt();
如果(選擇 == 1){
返回新的普通用戶(hù)(名稱(chēng));
}
返回新的管理員用戶(hù)(名稱(chēng));
}
}
用戶(hù)等級(jí):
包 book_management;
//用戶(hù)類(lèi)-抽象類(lèi)
//不知道是普通用戶(hù)還是管理員
公共抽象類(lèi)用戶(hù){
//用戶(hù)名
受保護(hù)的字符串名稱(chēng);
//授權(quán)操作的方法
受保護(hù)的 IOperation[] 操作;
// 菜單。只有特定的子類(lèi)知道菜單長(zhǎng)什么樣~~
公共抽象整數(shù)菜單();
公共無(wú)效doOperation(int選擇,BookList bookList){
操作[選擇 - 1].work(bookList);
}
}
相關(guān)操作類(lèi)框架代碼:
包 book_management;
導(dǎo)入 java.util.Scanner;
//書(shū)架操作界面
// 增刪改查-借書(shū)-還書(shū)
// 接口中只有全局常量和抽象方法
公共接口 IOperation {
// 全局常量,由所有接口的子類(lèi)共享
// static + final co 修改
掃描儀掃描儀=新掃描儀(System.in);
//在對(duì)應(yīng)的書(shū)架類(lèi)中操作
無(wú)效工作(BookList bookList);
}
//添加書(shū)籍
公共類(lèi) AddOperation 實(shí)現(xiàn) IOperation{
@覆蓋
公共無(wú)效工作(BookList bookList){
System.out.println("正在添加書(shū)籍...");
}
}
//借閱圖書(shū)
公共類(lèi) BorrowOperation 實(shí)現(xiàn) IOperation{
@覆蓋
公共無(wú)效工作(BookList bookList){
}
}
//刪除書(shū)籍
公共類(lèi) DeleteOperation 實(shí)現(xiàn) IOperation{
@覆蓋
公共無(wú)效工作(BookList bookList){
}
}
//顯示所有書(shū)籍
公共類(lèi) DisplayAllBooks 實(shí)現(xiàn) IOperation{
@覆蓋
公共無(wú)效工作(BookList bookList){
System.out.println("你現(xiàn)在要做的是查看所有書(shū)籍!");
bookList.displayBooks();
}
}
//找書(shū)
公共類(lèi) FindOperation 實(shí)現(xiàn) IOperation{
@覆蓋
公共無(wú)效工作(BookList bookList){
}
}
//還書(shū)
公共類(lèi) ReturnOperation 實(shí)現(xiàn) IOperation{
@覆蓋
公共無(wú)效工作(BookList bookList){
}
}
//更新書(shū)籍
公共類(lèi) UpdateOperation 實(shí)現(xiàn) IOperation{
@覆蓋
公共無(wú)效工作(BookList bookList){
}
}
相關(guān)閱讀
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)