ライブラリ管理システム - Java

目次

1. 図書館管理システムのスタイル

第二に、図書館管理システムの具体的な導入についてです。

   2.1 ブックバッグ

  2.2 ユーザーパッケージ

  2.3 メインクラス

  2.4 運用パッケージ


1. 図書館管理システムのスタイル

管理システムのレンダリング:

効果図から、最初にログインしてユーザーの名前と ID を取得することがわかります。ユーザーの ID に応じて、メニュー バーとユーザーが実行できる操作が異なり         ます

 第二に、図書館管理システムの具体的な導入についてです。

        主に以下のパッケージとクラスを設定します。

                                        

        このうち、book パッケージには書籍に関する情報が格納され、operation パッケージにはユーザーが実行するさまざまな操作が格納され、user にはユーザーに関する情報が格納され、Main はテスト クラスです。

   2.1 ブックバッグ

                        

        Bookクラスは書籍の詳細情報や操作方法を格納するクラスであり、BookListは格納されている書籍を記録する本棚クラスです。

public class Book { 
    private String name;//本のタイトル
    private String author;//著者
    private int Price;//価格
    private String type;//type 
    private boolean isborrowed;//貸し出すかどうか
        
    //本の初期化
    public Book( String name, String author, int Price, String type) { 
        this.name = name; 
        this.author = author; 
        this.price = 価格; 
        this.type = type; 
    } 
    //書籍情報を出力
    @Override 
    public String toString() { 
        return "Book{" + 
                "name='" + name + '\'' + 
                ", author='" + author + '\'' + 
                ",価格= + 価格 +
                ", type='" + type + '\'' +"本のステータス:"+ 
                ((isborrowed==true)? "すでに借りています":"借りていません")+ 
                '}'; 
    } 
    // 本のタイトルを取得
    public String getName() { 
        return name; 
    } 
    //本のタイトルを設定
    public void setName(String name) { 
        this.name = name; 
    } 
    //著者を取得
    public String getAuthor() { 
        return author; 
    } 
    //著者を設定
    public void setAuthor (文字列作成者) {
        これ。author = author; 
    } 
    //価格を取得
    public int getPrice() { 
        return Price; 
    } 
    //価格を設定 
    public void setPrice(int 価格) { 
        this.price = 価格; } 
    } 
    //型を取得
    public String getType() { 
        return type; 
    } 
    //型を設定
    public void setType(String type) { 
        this.type = type; 
    } 
    //本のステータス、それは貸します
    public boolean isIsborrowed() { 
        return isborrowed; 
    } 
    //本の状態を設定します
    public void setIsborrowed(boolean isborrowed) { 
        this.isborrowed = isborrowed; 
    } 
}

        本 book){本[pos]=本; 
    }
    //現在の棚にある本の数を取得
    public int getNowSize() { 
        return NowSize; 
    } 
    //現在の棚にある本の数を設定
    public void setNowSize(int nowSize) { 
        NowSize = nowSize; 
    } 
}

    2.2 ユーザーパッケージ

                        

         User クラスはすべてのタイプのユーザーの親クラスであり、AdminUser は管理者タイプのユーザー、NormalUser は通常のユーザー タイプのユーザーです。

//抽象クラス
public abstract class User { 
    //ユーザー名
    protected String name; 
    //ユーザーの複数の操作
    protected Ioperation[] ioperations; 


    //ユーザーの初期化
    public User(String name) { 
        this.name = name; 
    } 
    //ユーザーのメニュー
    public abstract int menu(); 
    //ユーザーが実行する操作
    public void dooperation(int Choice, BookList bookList){ 
        ioperations[choice].work(bookList); 
    } 
}
//管理者ユーザー
public class AdminUser extends User{ 
    public AdminUser(String name) { 
        super(name); 
        //ユーザー固有の操作
        this.ioperations=new Ioperation[]{ 
                new ExitOperation(), //システムを終了
                new SearchOperation( ) , //書籍を検索
                new AddOperation(), //書籍を追加
                new DeleteOperation(), //書籍を削除
                new ShowOperation(), //すべての書籍を表示
        }; 
    } 
    //管理者ユーザーのメニュー
    @Override 
    public int menu() { 
        System .out.println("********************"); 
        System.out.println("hello "+name+" "+"管理メンバーメニューへようこそ" );
        System.out.println("1. 本を探す");  
        System.out.println (" 2. 本を追加します");
        System.out.println("3. 本を削除する"); 
        System.out.println("4. 本を表示する"); 
        System.out.println("0 .システムを終了します"); 
        System.out.println("********************"); 
        System.out.println("選択肢を入力してください:" );
        スキャナー scanner=new Scanner(System.in); 
        //ユーザー入力操作オプション
        int Choice=scanner.nextInt(); 
        return Choice; 
    } 
}
//通常のユーザー
public class NormalUser extends User{ 
    public NormalUser(String name) { 
        super(name); 
        //通常のユーザー固有の操作
        this.ioperations=new Ioperation[]{ 
                new ExitOperation(), //システムを終了
                new SearchOperation( ) , //本を探す
                new BorrowOperation(), //本を借りる
                new ReturnOperation(), //本を返す
        }; 
    } 
    //一般ユーザーメニュー
    @Override 
    public int menu() { 
        System.out.println("*** * *****************"); 
        System.out.println("hello "+name+" 通常ユーザー メニューへようこそ"); 
        System.out.println("1 . 本を探す"); 
        System.out.println("2.本を借りる");
        System.out.println("3. 本を返却する");
        System.out.println("0. システムを終了します"); 
        System.out.println("********************"); 
        System.out.println ( "選択内容を入力してください:");
        スキャナー scanner=new Scanner(System.in); 
        //ユーザー操作オプション
        int Choice=scanner.nextInt(); 
        return Choice; 
    } 
}

 2.3 メインクラス

//テストクラス
public class Main { 
    //ユーザーログイン
    public static User logn(){ 
        System.out.println("名前を入力してください: ");
        スキャナー scanner=new Scanner(System.in); 
        String name=scanner 。 nextLine(); 
        System.out.println("ID を入力してください: 1: 管理者 2: 一般ユーザー"); 
        int Choice=scanner.nextInt(); 
        if(choice==1){ 
            return new AdminUser( name); 
        }else { 
            return new NormalUser(name); 
        } 
    } 

    public static void main(String[] args) { 
        BookList bookList=new BookList(); 
        User user=logn(); 
        while (true){ 
            int Choice=user .menu( );
            System.out.println("choice :"+choice); 
            //選択に従って、特定の操作を実行するオブジェクトを決定
            user.doperation(choice,bookList); 
        } 
    } 
}

 2.4 運用パッケージ

                

         AddOperation は本の操作を追加し、BorrowOperation は本の操作を貸し出し、DeleteOperation は本の操作を削除し、ExitOperation はシステムの操作を終了し、ReturnOperation は操作を返し、SearchOperation は操作を検索し、ShowOperation はすべての本の操作をチェックし、すべての操作は本棚で実行されるため、Ioperation のインターフェイスを構築して宣言します。操作 Bookshelf メソッド、各クラスはこのインターフェイスを実装します。

//
インターフェースパブリックインターフェースIoperation { 
    void work(BookList bookList); 
}
//本の追加
public class AddOperationimplements Ioperation{ 
    @Override 
    public void work(BookList bookList) { 
        System.out.println("Add Book"); 
        Scanner スキャナ=new Scanner(System.in); 
        System.out.println("名前を入力してください: "); 
        String name=scanner.nextLine(); 
        System.out.println("著者を入力してください: "); 
        String author=scanner.nextLine(); 
        System.out.println("価格を入力してください: "); 
        int 価格=scanner.nextInt(); 
        scanner.nextLine(); 
        System.out.println("タイプを入力してください: "); 
        String type=scanner.nextLine(); 
        Book book=new Book(name,author 、価格、種類); 
        //本棚がいっぱいかどうかを判断します
        if(bookList.getNowSize()==Max_book_count){ 
            System.out.println("本棚がいっぱいです"); 
            return; 
        }else { 
            for (int i = 0; i <bookList.getNowSize(); i++) { 
                / / この本がすでに本棚に存在するかどうかを確認します
                if((bookList.getBook(i).getName()).equals(name)){ 
                    System.out.println("この本はすでに本棚に存在します。追加する必要はありませんit"); 
                    return ; 
                } 
            } 
            //本を配置
            bookList.SetBook(bookList.getNowSize(), book); 
            //本の数に 1 を加えます
            int count= bookList.getNowSize(); 
            bookList.setNowSize(++count );  
            System.out.println ("本は正常に追加されました");
        } 
    } 
}
//本の借り方
public class BorrowOperationimplements Ioperation{ 
    @Override 
    public void work(BookList bookList) { 
        System.out.println("本の借り方"); 
        Scanner scanner=new Scanner(System.in); 
        System.out.println ("名前を入力してください: "); 
        String name=scanner.nextLine(); 
        for (int i = 0; i < bookList.getNowSize(); i++) { 
            //この本の存在を判定します
            if ((bookList.getBook(i ).getName()).equals(name)){ 
                bookList.getBook(i).setIsborrowed(true); 
                System.out.println("正常に本を借りることができました"); 
                return; 
            } 
        } 
        System.out.println("借りた本は存在しません"); 
    } 
}
//書籍を削除
public class DeleteOperationimplements Ioperation{ 
    @Override 
    public void work(BookList bookList) { 
        System.out.println("本の削除"); 
        System.out.println("削除する本のタイトルを入力してください: ");
        スキャナー scanner=new Scanner(System.in); 
        String name=scanner.nextLine(); 
        for (int i = 0; i < bookList.getNowSize(); i++) { 
            //この本は存在します
            if ((bookList) .getBook( i).getName()).equals(name)){ 
                for (int j = i; j < bookList.getNowSize()-1; j++) { 
                    bookList.SetBook(j,bookList.getBook(j+1) )); 
                } 
                //最後のブックは空白のままになります
                bookList.SetBook(bookList.getNowSize(),null); 
                //本の数から 1 を引いた数
                int count=bookList.getNowSize(); 
                bookList.setNowSize(--count); 
                System.out.println("本を正常に削除しました" ) ; 
                return; 
            } 
        } 
        System.out.println("この本は存在しません"); 
    } 
}
//本の返却
public class ReturnOperationimplements Ioperation{ 
    @Override 
    public void work(BookList bookList) { 
        System.out.println("本の返却"); 
        Scanner スキャナ=new Scanner(System.in); 
        System.out.println("名前を入力してください: "); 
        String name=scanner.nextLine(); 
        for (int i = 0; i < bookList.getNowSize(); i++) { 
            //本があります
            if ((bookList.getBook(i). getName( )).equals(name)){ 
                bookList.getBook(i).setIsborrowed(false); 
                System.out.println("本は正常に返却されました"); 
                return; 
            } 
        } 
        System.out.println("返却された本は存在しません"); 
    }
}
//本の検索
public class SearchOperationimplements Ioperation{ 
    @Override 
    public void work(BookList bookList) { 
        System.out.println("Find Books");
        スキャナー scanner=new Scanner(System.in); 
        String name=scanner.nextLine( ); 
        for (int i = 0; i <bookList.getNowSize();i++) { 
            //本が存在する
            if ((bookList.getBook(i).getName()).equals(name)){ 
                System.out.println (bookList.getBook(i)); 
                return; 
            } 
        } 
        System.out.println("そのような本は図書館にありません"); 
    } 
}
//すべての書籍を検索
public class ShowOperationimplements Ioperation{ 
    @Override 
    public void work(BookList bookList) { 
        System.out.println("Print Book"); 
        for (int i = 0; i < bookList.getNowSize(); i++) {
            ブック book=bookList.getBook(i); 
            System.out.println(book); 
        } 
    } 
}
//システムを終了します
public class ExitOperationimplements Ioperation{ 
    @Override 
    public void work(BookList bookList) { 
        System.out.println("システムを終了します"); 
        System.exit(0); 
    } 
}

おすすめ

転載: blog.csdn.net/qq_64668629/article/details/132257099