Java--图书馆管理系统简单版

图书馆系统简单版

import java.util.Scanner;

/**
 * 图书借阅管理平台
 * 1、图书上架(信息录入)
 * 2、图书信息的修改
 * 3、图书下架(删除)
 * 4、借书
 * 5、还书
 * 6、图书信息的查看
 * 7、查看所有图书
 * 0、退出系统
 */
public class LibraryManagement {
    static Scanner input = new Scanner(System.in);

    static int len = 10;
    //图书ID
    static String[]  id = new String[len];
    //书名:name
    static String[] name = new String[len];
    //作者
    static String[] author = new String[len];
    //出版时间
    static String[] time = new String[len];
    //出版社
    static String[] press = new String[len];
    //价格
    static Double[] price = new Double[len];
    //书籍状态
    static boolean[] state = new boolean[len];
    //备注
    static String[] comment = new String[len];
    //将图书信息整合在一起
    //书本数量
    static int num = 0;
    public static void main(String[] args) {
        while(true){
            Show();
        }
    }


    /**
     * 功能选择面板
     */
    public static void Show(){
        System.out.println("-------------------------");
        System.out.println("\t1、图书上架(信息录入)");
        System.out.println("\t2、图书信息的修改");
        System.out.println("\t3、图书下架(删除)");
        System.out.println("\t4、借书");
        System.out.println("\t5、还书");
        System.out.println("\t6、图书信息的查看");
        System.out.println("\t7、查看所有图书");
        System.out.println("\t0、退出系统");
        System.out.println("-------------------------");
        System.out.println("请输入选择功能:");
        int option = input.nextInt();
        switch(option){
            case 1:
                AddBook();
                break;
            case 2:
                System.out.print("请输入需要修改信息图书的ID:");
                ReviseBook();
                break;
            case 3:
                System.out.println("请输入需要删除图书信息的id");
                DeleteBook();
                break;
            case 4:
                System.out.println("请输入需要借阅书籍的ID:");
                BorrowBook();
                break;
            case 5:
                System.out.println("请输入需要归还书籍的ID:");
                ReturnBook();
                break;
            case 6:
                System.out.println("请输入需要查看图书信息的id");
                FindBook();
                break;
            case 7:
                FindAllBook();
                break;
            case 0:
                System.exit(1);
            default:
                System.out.println("不好意思,您输入有误,请重新输入!");
        }



    }

    /**
     * 1、图书上架(信息录入功能)
     * 已实现
     */
    public static void AddBook(){
            System.out.println("请输入书籍编号:");
            id[num] = input.next();
            System.out.println("请输入书名:");
            name[num] = input.next();
            System.out.println("请输入书籍作者:");
            author[num] = input.next();
            System.out.println("请输入出版时间:");
            time[num] = input.next();
            System.out.println("请输入出版社:");
            press[num] = input.next();
            System.out.println("请输入价格:");
            price[num] = input.nextDouble();
            //System.out.println("请输入书籍状态:");
            state[num] = true ;
            //System.out.println("请输入备注:");
            comment[num] = "空闲";
            num++;
    }

    /**
     * 2、图书信息的修改
     * 改动数组里面的数据,使其覆盖原数据,即可达到修改的功能
     * 已实现
     */
    public static void ReviseBook(){
        int i = GetBooknum();
        if(i != -1){
            System.out.println("请确认是否选择修改ID为 " + id[i] +" 的书");
            ShowBook(i);
            System.out.println();
            while(true) {
                System.out.println("确认修改,请输入 1 ;取消修改,请输入 2");
                int j = input.nextInt();
                switch(j) {
                    case 1:
                        System.out.println("请输入修改后的书名:");
                        name[i] = input.next();
                        System.out.println("请输入修改后的作者:");
                        author[i] = input.next();
                        System.out.println("请输入修改后的出版时间:");
                        time[i] = input.next();
                        System.out.println("请输入修改后的出版社:");
                        press[i] = input.next();
                        System.out.println("请输入修改后的价格:");
                        price[i] = input.nextDouble();
                        System.out.println("*** 修改成功!***");
                        return;
                    case 2:
                        System.out.println("*** 该图书没有被修改 ***");
                        return;
                    default:
                        System.out.println("*** 输入有误,请重新输入 ***");
                }
            }
        }


    }

    /**
     * 3、图书下架(删除)
     * 将数组中最后一个元素赋值给删除的元素
     * 已实现
     */
    public static void DeleteBook(){
        int i = GetBooknum();
        if(i != -1){
            System.out.println("请确认是否选择删除ID为 " + id[i] +" 的书");
            ShowBook(i);
            System.out.println();
            while(true) {
                System.out.println("确认删除,请输入 1 ;取消删除,请输入 2");
                int j = input.nextInt();
                switch (j) {
                    case 1:
                        id[i] = id[num - 1];
                        name[i] = name[num - 1];
                        author[i] = author[num - 1];
                        time[i] = time[num - 1];
                        press[i] = press[num - 1];
                        price[i] = price[num - 1];
                        state[i] = state[num - 1];
                        comment[i] = comment[num - 1];
                        num--;
                        System.out.println("*** 删除成功!***");
                        return;
                    case 2:
                        System.out.println("*** 该图书没有被删除 ***");
                        return;
                    default:
                        System.out.println("*** 输入有误,请重新输入 ***");
                }
            }
        }
    }

    /**
     * 4、借书
     * 将其状态划为0或1
     *
     */
    public static void BorrowBook(){
        int i = GetBooknum();
        if(state[i]){
            System.out.println("请输入您的姓名:");
            comment[i] = input.next();
            System.out.println("*** 借阅成功! ***");
            state[i] = false;
        }else{
            System.out.println("*** 借阅失败! ***");
            System.out.println("该图书已被借走,借阅人是:" + comment[i]);
        }
    }

    /**
     * 5、还书
     */
    public static void ReturnBook(){
        int i = GetBooknum();
        while(true){
            if(state[i]){
                System.out.println("输入有误,该图书当前未被借阅!");
                return;
            }else{
                state[i] = !state[i];
                comment[i] = "空闲";
                System.out.println("归还成功");
                return;

            }
        }
    }

    /**
     * 6、图书信息的查看
     * 需要提供图书的ID,查找图书
     * 已实现
     */
    public static void FindBook(){
        int i = GetBooknum();
        if(i != -1){
            ShowBook(i);
        }
        System.out.println();
    }

    /**
     * 7、查看所有图书
     * 按顺序输出数组的所有内容即可
     * 已实现
     */
    public static void FindAllBook(){
        if(num == 0){
            System.out.println("暂时没有图书!");
        }else{
            for(int i = 0 ; i < num ; i++){
                ShowBook(i);
                System.out.println();
            }
        }
    }

    /**
     * 通过ID找到书籍的序号
     * 已实现
     */
    public static int GetBooknum(){
        String id1 = input.next();
        for(int i = 0 ; i < num ; i++) {
            if (id1.equals(id[i])) {
                return i;
            }
        }
        System.out.println("没有这本书!");
        return -1;

    }

    public static void ShowBook(int i){
            System.out.println("书籍ID:"  +id[i]);
            System.out.print("书名:"      +name[i]+"   ");
            System.out.print("书籍作者:"   +author[i]+"   ");
            System.out.print("出版时间:"   +time[i]+"   ");
            System.out.print("出版社:"     +press[i]+"   ");
            System.out.print("价格:"       +price[i]+"   ");
            System.out.print("书籍没有被借出:"+state[i]+"   ");
            System.out.print("备注:"       +comment[i]+"   ");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值