国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JAVA圖書管理系統(tǒng)詳細代碼

這篇具有很好參考價值的文章主要介紹了JAVA圖書管理系統(tǒng)詳細代碼。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

圖書管理系統(tǒng)

代碼主要分為四個大部分,主函數,圖書相關函數,操作,以及使用者。分為三個包:book、operation、user和一個單獨的主函數。

主函數

import book.BookList;
import user.AdiminUser;
import user.NormalUser;
import user.User;

import java.util.Scanner;

public class Main {
    public static User login() {
        System.out.println("請輸入姓名:");
        Scanner scan=new Scanner(System.in);
        String name=scan.nextLine();
        System.out.println("請輸入你的身份(1->管理員  0->用戶):");
        int id=scan.nextInt();
        if(id==1){
            return new AdiminUser(name);
        }else{
            return new NormalUser(name);
        }
    }

    public static void main(String[] args) {
        BookList bookList =new BookList();
        while(true) {
        User user=login();
            int choice = user.menu();
            user.doOperation(choice, bookList);//對圖書進行相關的操作
        }
    }
}

圖書相關操作(operation包)

操作接口

對于每一個操作都有相近的一部分,剛好可以用接口,在User(使用者)中利用接口類型的數組來進行相關的操作。在下面的User中會具體說。

package operation;

import book.Book;
import book.BookList;

public interface IOpreation {

    public void work(BookList booklist);
}

增加圖書

增加圖書只需要在數組的最后添加即可,于是要利用booklist.getUsedsize();得到圖書數組的使用長度,決定要增加的圖書應該所在的位置。

package operation;

import book.Book;
import book.BookList;

import java.util.Scanner;

public class AddOperation implements IOpreation{
    @Override
    public void work(BookList booklist) {

        System.out.println("新增圖書");
        int size=booklist.getUsedsize();
        Scanner scan=new Scanner(System.in);
        System.out.println("請輸入圖書名稱:");
        String name=scan.nextLine();
        System.out.println("請輸入圖書作者:");
        String anuthor=scan.nextLine();
        System.out.println("請輸入圖書價格:");
        int price=scan.nextInt();
        System.out.println("請輸入圖書種類:");
        String type=scan.nextLine();
        Book book=new Book(name,anuthor,price,type);
        booklist.setBooklist(size,book);
        System.out.println("新增書籍成功");
        booklist.setUsedsize(size+1);
    }
}

借閱圖書

對于借閱圖書只需要將圖書信息中的布爾型變量isBorrowed變量變?yōu)閠rue即可,首先還是要遍歷booklist找到該書。

package operation;

import book.Book;
import book.BookList;

import java.util.Scanner;

public class BorrowOperation implements IOpreation {
    public void work(BookList booklist){
        System.out.println("借閱圖書");
        Scanner scan=new Scanner(System.in);
        System.out.println("請輸入要借閱的書籍名稱:");
        String name=scan.nextLine();
        int size=booklist.getUsedsize();
        for (int i = 0; i <size ; i++) {
            Book book=booklist.getBook(i);
            if(book.getName().equals(name)){
                book.setBorrowed(true);
                System.out.println("借閱成功");
                System.out.println("該書籍的信息為:");
                System.out.println(book);
                return;
            }
        }
        System.out.println("該書籍不存在");
    }
}

刪除書籍

類似于借閱書籍,首先要先找到你要刪除的書籍,因此設置一個中間變量,index來判斷是否存在該書籍,對于書籍同樣也是要遍歷booklist,對于刪除操作只需要用后一個覆蓋前一個的內容即利用for循環(huán)前移即可。

package operation;

import book.Book;
import book.BookList;

import java.util.Scanner;

public class DeleteOperation implements IOpreation{
    @Override
    public void work(BookList booklist) {
        System.out.println("刪除圖書");
        Scanner scan=new Scanner(System.in);
        System.out.println("請輸入要刪除的圖書名稱:");
        String name= scan.nextLine();
        int size=booklist.getUsedsize();
        int index=-1;
        for (int i = 0; i <size ; i++) {
            Book book=booklist.getBook(i);
            if(book.getName().equals(name)){
                index=i;
                break;
            }
        }
        if(index==-1){
            System.out.println("不存在你想要刪除的書籍");
        }
        //刪除操作
        for (int i = index; i <size-1 ; i++) {
            Book book=booklist.getBook(i+1);
            booklist.setBooklist(i,book);
        }
        System.out.println("刪除成功");
       booklist.setUsedsize(size-1);
    }
}

顯示書籍

同樣利用booklist.getUsedsize();得到數組的使用長度,然后利用for循環(huán)將每本書依次打印出來即可。

package operation;

import book.Book;
import book.BookList;

import java.util.Arrays;

public class DisplayOperation implements IOpreation{
    @Override
    public void work(BookList booklist) {
        System.out.println("顯示圖書");
       int size=booklist.getUsedsize();
        for (int i = 0; i < size; i++) {
            Book book=booklist.getBook(i);
            System.out.println(book);
        }
    }
}

退出系統(tǒng)

package operation;

import book.Book;
import book.BookList;

public class ExitOperation implements IOpreation{
    @Override
    public void work(BookList booklist) {

        System.out.println("退出系統(tǒng)");
        System.exit(0);
    }
}

查找圖書

主要是比較booklist中圖書的名字與輸入的名字之間是否相同,要先將數組中的某一本圖書賦給一個Book類的變量book然后才能進行比較(Book book=booklist.getBook(i);)book.getName().equals(name)。

package operation;

import book.Book;
import book.BookList;

import java.util.Scanner;

public class FindOperation implements IOpreation{
    @Override
    public void work(BookList booklist) {
        System.out.println("查找圖書");
        Scanner scan=new Scanner(System.in);
        System.out.println("請輸入要查找的書籍名稱:");
        String name=scan.nextLine();
        int size=booklist.getUsedsize();
        for (int i = 0; i <size ; i++) {
            Book book=booklist.getBook(i);
            if(book.getName().equals(name)){
                System.out.println("查找成功,該書籍的信息為:");
                System.out.println(book);
                return;
            }
        }
        System.out.println("不存在你要查找的書籍");
    }
}

歸還書籍

和借閱圖書進行對比可只,借閱圖書是將isBorrowed變量由false變?yōu)閠rue,那么歸還圖書就是將isBorrowed變量由true變?yōu)閒alse.

package operation;

import book.Book;
import book.BookList;

import java.util.Scanner;

public class ReturnOperation implements IOpreation{
    @Override
    public void work(BookList booklist) {
        System.out.println("歸還圖書");
        Scanner scan=new Scanner(System.in);
        System.out.println("請輸入要歸還的書籍名稱:");
        String name=scan.nextLine();
        int size=booklist.getUsedsize();
        for (int i = 0; i <size ; i++) {
            Book book=booklist.getBook(i);
            if(book.getName().equals(name)){
                book.setBorrowed(false);
                System.out.println("歸還成功");
                System.out.println("該書籍的信息為:");
                System.out.println(book);
                break;
            }
        }
    }
}

圖書及“書架”(book包)

圖書

需要說明的是在重寫的toString函數中(toString函數在Object類中,它被認為是所有類的父類)(isBorrowed == true ? " 已借出 “:” 未借出 ") 將true和false轉換為文字。

package book;

public class Book {
    private String name;
    private String author;
    private int price;
    private String type;
    private boolean isBorrowed;

    public Book(String name, String author, int price, String type) {
        this.name = name;
        this.author = author;
        this.price = price;
        this.type = type;
    }

    public boolean isBorrowed() {
        return isBorrowed;
    }

    public void setBorrowed(boolean borrowed) {
        isBorrowed = borrowed;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    @Override
    public String toString() {
        return "Book{" +
                "name='" + name + '\t' +
                ", author='" + author + '\t' +
                ", price=" + price +
                ", type='" + type + '\t' +
                (isBorrowed == true ? " 已借出 ":" 未借出 ") +
                '}';
    }
}

“書架”

書架就可以看成以Book為基本數據類型的一個數組,要設立數組使用長度,便于后續(xù)操作。

package book;

public class BookList {
    private Book[] booklist=new Book[10];
    private int usedsize;
    public BookList(){
        this.booklist[0]=new Book("三國演義","羅貫中",28,"小說");
        this.booklist[1]=new Book("水滸傳","施耐庵",36,"小說");
        this.booklist[2]=new Book("紅樓夢","曹雪芹",56,"小說");
        this.booklist[3]=new Book("西游記","吳承恩",35,"小說");
        this.usedsize=4;
    }

    public int getUsedsize() {
        return usedsize;
    }

    public void setUsedsize(int usedsize) {
        this.usedsize = usedsize;
    }
    public void setBooklist(int pos,Book book){
        booklist[pos]=book;
    }
    public Book getBook(int pos){
        return booklist[pos];
    }
}

使用人群(user包)

user父類

這里有一個protected IOpreation[] iOpreations;即接口類型的數組,主要是在它的子類中,在構造函數中需要根據它們各自的功能實例化各個操作。

package user;

import book.BookList;
import operation.IOpreation;

public abstract class User {
    protected String name;
    protected IOpreation[] iOpreations;
    public User(String name){
        this.name=name;
    }
    public abstract int menu();
    public void doOperation(int choice, BookList bookList){
        this.iOpreations[choice].work(bookList);
    }


}

普通使用人員

上面說的 IOpreation[] iOpreations,在這里就實例化了

this.iOpreations=new IOpreation[]{
                new FindOperation(),
                new BorrowOperation(),
                new ReturnOperation(),
                new ExitOperation()

對于選擇的操作序號我們也要返回,從而在主函數中調用User類中的doOperation操作,要注意在上面對操作進行實例化時要與下面菜單的順序一致。

package user;

import operation.*;

import java.util.Scanner;

public class NormalUser extends User {
    public NormalUser(String name) {
        super(name);
        this.iOpreations=new IOpreation[]{
                new FindOperation(),
                new BorrowOperation(),
                new ReturnOperation(),
                new ExitOperation()
        };
    }
    public int menu(){
        System.out.println("********普通人員菜單*********");
        System.out.println("歡迎"+name+"進入圖書借閱系統(tǒng)");
        System.out.println("0                   查找書籍");
        System.out.println("1                   借閱書籍");
        System.out.println("2                   歸還書籍");
        System.out.println("3                   退出系統(tǒng)");
        Scanner scan=new Scanner(System.in);
        int choice=scan.nextInt();
        return choice;
    }
}

管理員

與上面的普通人員除了操作不同之外,其他都是同樣的道理。文章來源地址http://www.zghlxwxcb.cn/news/detail-492918.html

package user;

import operation.*;

import java.util.Scanner;

public class AdiminUser extends User{
    public AdiminUser(String name) {
        super(name);
        this.iOpreations=new IOpreation[]{
                new DisplayOperation(),
                new DeleteOperation(),
                new AddOperation(),
                new FindOperation(),
                new ExitOperation()
        };
    }
    public int menu() {
        System.out.println("********管理員菜單**********");
        System.out.println("歡迎"+name+"進入管理員菜單");
        System.out.println("0                   顯示書籍");
        System.out.println("1                   刪除書籍");
        System.out.println("2                   增加書籍");
        System.out.println("3                   查找書籍");
        System.out.println("4                   退出系統(tǒng)");
        System.out.println("***************************");
        Scanner scan = new Scanner(System.in);
        int choice = scan.nextInt();
        return choice;
    }
}

到了這里,關于JAVA圖書管理系統(tǒng)詳細代碼的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 圖書管理系統(tǒng)(Java簡單版)(完整代碼+詳解)

    圖書管理系統(tǒng)(Java簡單版)(完整代碼+詳解)

    目錄 詳解:? BookList類: InOperation接口? User類(父類)?和 Main類(這倆要一起看) 完整代碼? book包? Book類? BookList類 operation包? ?AddBook類 BorrowBook類 DeleteBook類 FindBook類 PrintBook類 ReturnBook類 Exit類 InOperation接口 user包? Domestic類 Administrator類 User類? Main類? 按照上圖邏輯來寫

    2024年02月08日
    瀏覽(26)
  • 基于Java+Spring的圖書管理系統(tǒng)詳細設計和實現

    基于Java+Spring的圖書管理系統(tǒng)詳細設計和實現

    ?博主介紹 : ? 全網粉絲20W+,csdn特邀作者、博客專家、CSDN新星計劃導師、java領域優(yōu)質創(chuàng)作者,博客之星、掘金/華為云/阿里云/InfoQ等平臺優(yōu)質作者、專注于Java技術領域和畢業(yè)項目實戰(zhàn) ? ?? 文末獲取源碼聯系 ?? ?????精彩專欄 推薦訂閱 ?????不然下次找不到喲 ?java項

    2024年02月03日
    瀏覽(36)
  • Java連接數據庫實現圖書館管理系統(tǒng)(詳細教程)

    Java連接數據庫實現圖書館管理系統(tǒng)(詳細教程)

    該功能用到的軟件為 IDEA 、Navicat 、云服務器(非必須) 源碼下載 https://www.aliyundrive.com/s/UTz8pNxobGK 在自己的服務器或者電腦本機安裝數據庫系統(tǒng),本次系統(tǒng)演示的數據庫版本為5.6。 1.創(chuàng)建圖書管理數據庫library 字符集為:utf8 -utf8_general_ci 2.設計好將要使用的sql語句 視圖、存儲

    2024年02月06日
    瀏覽(35)
  • 基于Java+Spring+Html的圖書借閱管理系統(tǒng)詳細設計和實現

    基于Java+Spring+Html的圖書借閱管理系統(tǒng)詳細設計和實現

    博主介紹 : ? 全網粉絲20W+,csdn特邀作者、博客專家、CSDN新星計劃導師、java領域優(yōu)質創(chuàng)作者,博客之星、掘金/華為云/阿里云/InfoQ等平臺優(yōu)質作者、專注于Java技術領域和畢業(yè)項目實戰(zhàn) ? ?? 文末獲取源碼聯系 ?? ?????精彩專欄 推薦訂閱 ?????不然下次找不到喲 ?java項目

    2024年02月04日
    瀏覽(30)
  • 基于java的圖書借閱管理系統(tǒng)設計與實現(源代碼+數據庫+部署文檔+部署視頻)

    基于java的圖書借閱管理系統(tǒng)設計與實現(源代碼+數據庫+部署文檔+部署視頻)

    ?????? 圖書管理系統(tǒng) 該系統(tǒng)對數據進行保存、修改、刪除等管理。為用戶提供了一個友好、簡單快捷的運行操作平臺。該統(tǒng)對數據進行保存、修改、刪除等管理,為用戶提供了一個友好、簡單快捷的運行操作平臺。本系統(tǒng)的各界面設計友好、流程正確、功能也較為完善,

    2024年02月03日
    瀏覽(29)
  • 圖書管理系統(tǒng)(Java實現,十個數據表,含源碼、ER圖,超詳細報告解釋,2020.7.11更新)...

    圖書管理系統(tǒng)(Java實現,十個數據表,含源碼、ER圖,超詳細報告解釋,2020.7.11更新)...

    圖書管理系統(tǒng)數據庫設計實驗報告 2020.7.11 修改了表的結構,表之間增加了外鍵聯系,更加完整且符合第三范式。 數據庫設計實驗報告 疫情期間,大家都只能夠在家里,不能去到學校,此時需要在圖書館借書,就是只能通過網絡來操作了。因此,網上圖書館就此誕生了,有了

    2024年02月05日
    瀏覽(38)
  • 圖書管理系統(tǒng)(含完整代碼)

    圖書管理系統(tǒng)(含完整代碼)

    課題背景 一、主要研究內容 二、需求分析 1.功能性需求分析 2.非功能性需求分析 三、系統(tǒng)整體架構設計 四、相關代碼 1.文件存儲 1.1.存儲用戶信息 1.2.存儲圖書信息 2.密碼保護 五、完整代碼 1.圖書借閱管理系統(tǒng).py ?2.user.py 3.manager.py 基于Python開發(fā)的一款圖書借閱管理系統(tǒng)。

    2024年02月06日
    瀏覽(16)
  • Java web圖書管理系統(tǒng)、在線圖書借閱管理系統(tǒng)(帶文檔)

    Java web圖書管理系統(tǒng)、在線圖書借閱管理系統(tǒng)(帶文檔)

    ?大家好,我是DeBug,很高興你能來閱讀!作為一名熱愛編程的程序員,我希望通過這些教學筆記與大家分享我的編程經驗和知識。在這里,我將會結合實際項目經驗,分享編程技巧、最佳實踐以及解決問題的方法。無論你是初學者還是有一定經驗的程序員,我都希望能夠為你

    2024年01月23日
    瀏覽(25)
  • 圖書管理系統(tǒng)【java】

    圖書管理系統(tǒng)【java】

    目錄 ??1.設計背景 ??2.設計思路 ??3.book包 ??3.1 Book類的實現 ??3.2 BookList類的實現(書架) ??4.user包 ??4.1 User類的實現 ??4.2 AdminUser(管理員) ??4.3?Normal(普通用戶) ??5.opera包 1??5.1 IOperation接口的實現 2??AddOperation(添加操作) 3??FindOperation(查找操作) 4??

    2024年02月03日
    瀏覽(31)
  • 【Java】圖書管理系統(tǒng)

    【Java】圖書管理系統(tǒng)

    書寫一個圖書管理系統(tǒng),其中要包含以下功能:借閱書籍、瀏覽書籍、查找書籍、添加書籍、刪除書籍、修改書籍 (書寫這個程序主要是為了鞏固我們之前學習的基礎語法,因此在這個程序書寫的過程中我們將盡量運用我們之前學的大部分知識。同時值得一提的是,這篇文章

    2024年02月05日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包