图书管理系统(面向对象+数组)

本文介绍了一个简单的图书管理系统的设计与实现,包括图书的增删查改、借阅与归还等功能,并通过控制台界面进行交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package KindMethod2;

//           属性块

public class Library {

    private String name;        //图书名称
    private int state;          //借阅状态,0:可借阅,1:已借出
    private int date;           //借出日期
    private int count;          //借出次数

    public Library() {

    }

    public Library(String name, int state, int date, int count) {
        this.name = name;
        this.state = state;
        this.date = date;
        this.count = count;
    }

    public String getName() {
        return name;
    }

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

    public int getState() {
        return state;
    }

    public void setState(int state) {
        this.state = state;
    }

    public int getDate() {
        return date;
    }

    public void setDate(int date) {
        this.date = date;
    }

    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }
}
 

package KindMethod2;

public class BookRealize {
    private Library[] librarie;         //存储图书数组
    private int total;      //数组下标

    public Library[] getLibrarie() {
        return librarie;
    }

    public void setLibrarie(Library[] librarie) {
        this.librarie = librarie;
    }

    public int getTotal() {
        return total;
    }

    public void setTotal(int total) {
        this.total = total;
    }
    public BookRealize(int tota){
        librarie=new Library[tota];
    }
//    新增图书
    public boolean addBook(Library library){
        if(total<0 || total>librarie.length){
            return false;
        }else{
            librarie[total++]=library;
            return true;
        }
    }
//    查看图书
    public Library[] showBook(){
        Library[] newlibraries= new Library[total];
        for(int i=0 ;i<total;i++){
            newlibraries[i]=librarie[i];
        }
        return newlibraries;
        }


//    删除图书
    public boolean deleteBook(int num){
        if(num>total || num<0){
            return false;
        }else{
            Library[] newLibraries=new Library[total];
            for(int i=num;i<total-i;i++){
                librarie[i]=newLibraries[i];
            }
            librarie[--total]=null;
            return true;
        }
    }
//    借出图书
    public boolean borrow(int num){
        if(num>total || num<0 || librarie[num].getState()==1){
            return false;
        }else{
            librarie[num].setState(1);
            librarie[num].setCount(librarie[num].getCount()+1);
            return true;
        }
//        Library[] newlibraries1 = new Library[total];
//        int num=0;
//            for(int j=0;j<total;j++){
//                if (newlibraries1[j].getState()==0){
//                    newlibraries1[num++]=newlibraries1[j];
//                }
//            }
//            return newlibraries1;
    }

//    归还图书
    public boolean retur(int num){
        if(num>total || num<0 || librarie[num].getState()==0){
            return false;
        }else{
            librarie[num].setState(0);
            return true;
        }
    }
}
package KindMethod2;

import java.util.Scanner;

public class Test {
BookRealize bookRealize = new BookRealize(6);
    public Test(){
    Library library =new Library("三国演义",0,21,23);
    bookRealize.addBook(library);
    }
    Scanner sc =new Scanner(System.in);
    public void setting(){
        boolean bool=true;
        do{
            System.out.println("----------------------迷你图书管理系统---------------------");
            System.out.println("\t\t1、新增图书");
            System.out.println("\t\t2、查看图书");
            System.out.println("\t\t3、删除图书");
            System.out.println("\t\t4、借出图书");
            System.out.println("\t\t5、归还图书");
            System.out.println("\t\t6、退出图书系统");
            System.out.print("请选择:");
            int choose = sc.nextInt();
            switch (choose){
                case 1:
                    addBook();
                    break;
                case 2:
                    showBook();
                    break;
                case 3:
                    deleteBook();
                    break;
                case 4:
                    borrowBook();
                    break;
                case 5:
                    retueBook();
                    break;
                case 6:
                    bool=false;
                    System.out.println("已退出");
            }
        }while(bool);
    }
//    增加
    public void addBook(){
        System.out.println("--------------------新增图书----------------------");
        System.out.print("图书名称");
        String name = sc.next();
        System.out.print("借阅状态(0:可借阅,1:已借出)");
        int state = sc.nextInt();
        System.out.print("借出日期(当月1-31号)");
        int date = sc.nextInt();
        System.out.print("借出次数");
        int count = sc.nextInt();
        Library library=new Library(name,state,date,count);
        boolean boole=bookRealize.addBook(library);
        if(boole==true){
            System.out.println("\t添加成功");
        }else{
            System.out.println("\t添加失败");
        }
    }
//    查看图书
    public void showBook(){
        Library[] books = bookRealize.showBook();
        if(books==null){
            System.out.println("你没有任何图书");
            return;
        }
        System.out.println("编号"+"\t\t名字"+"\t\t借阅状态"+"\t\t借出日期"+"\t借出次数");
        for(int i=0;i<books.length;i++){
            System.out.println((i+1)+"\t\t"+books[i].getName()+"\t\t"+books[i].getState()+"\t\t"+
                    books[i].getDate()+"\t\t"+books[i].getCount());
        }
        return;
    }
//    删除图书
    public void deleteBook(){
        Library[] books = bookRealize.showBook();
        System.out.println("编号"+"\t\t名字"+"\t\t借阅状态"+"\t\t借出日期"+"\t\t借出次数");
        for(int i=0;i<books.length;i++){
            System.out.println((i+1)+"\t\t"+books[i].getName()+"\t\t"+books[i].getState()+"\t\t"+
                    books[i].getDate()+"\t\t"+books[i].getCount());
        }
        System.out.print("请输入要删除图书的编号:");
        int num= sc.nextInt();
        boolean boole =bookRealize.deleteBook(num-1);
        if (boole==true){
            System.out.println("删除图书成功");
        }else{
            System.out.println("删除图书失败");
        }
        return;
    }
    //        借出图书
    public void borrowBook(){
        Library[] books = bookRealize.showBook();
        System.out.println("编号"+"\t\t名字"+"\t\t借阅状态"+"\t\t借出日期"+"\t\t借出次数");
        for(int i=0;i<books.length;i++){
            System.out.println((i+1)+"\t\t"+books[i].getName()+"\t\t"+books[i].getState()+"\t\t"+
                    books[i].getDate()+"\t\t"+books[i].getCount());
        }
        System.out.print("请输入要借书的书号:");
        int num = sc.nextInt();
        boolean boole=bookRealize.borrow(num-1);
        if(boole==true){
            System.out.println("借书成功");
        }else{
            System.out.println("借书失败,输入有误或已经借出去了");
        }
        return;
    }
//    归还图书
    public void retueBook(){
        Library[] books = bookRealize.showBook();
        System.out.println("编号"+"\t\t名字"+"\t\t借阅状态"+"\t\t借出日期"+"\t\t借出次数");
        for(int i=0;i<books.length;i++){
            System.out.println((i+1)+"\t\t"+books[i].getName()+"\t\t"+books[i].getState()+"\t\t"+
                    books[i].getDate()+"\t\t"+books[i].getCount());
        }
        System.out.print("请输入要还书的书号:");
        int num = sc.nextInt();
        boolean boole=bookRealize.borrow(num-1);
        if(boole==true){
            System.out.println("还书成功");
        }else{
            System.out.println("还书失败,输入的书号有误");
        }
        return;
}
    public static void main(String[] args) {
        Test test = new Test();
        test.setting();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

老板大气,I am happy

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值