zoukankan      html  css  js  c++  java
  • 适合初学者练习的图书馆系统Java代码

    import java.util.*;
    
    public class MyBookMgr {
        public static void main(String[] args){
            Scanner input=new Scanner(System.in);
            //是否退出系统,false代表退出系统
            boolean flag=true;
            //图书相关信息,最多只能存储6个图书信息
            String[] name=new String[6]; //图书名称
            int[] state=new int[6]; //借阅状态,0:可借阅 ;1:已借出
            int[] date=new int[6];  //借出日期
            int[] count=new int[6]; //借出次数
            
            /*
             * 初始化三个图书
             * */
            name[0]="罗马假日";
            state[0]=1;
            date[0]=1;
            count[0]=15;
            
            name[1]="白雪公主";
            state[1]=0;
            count[1]=12;
            
            name[2]="葫芦兄弟";
            state[2]=0;
            count[2]=30;
            
            int num=-1;
            //循环操作
            do{
                //输出欢迎菜单
                System.out.println("欢迎使用迷你图书管理器");
                System.out.println("-------------------------");
                System.out.println("1.新增图书");
                System.out.println("2.查看图书");
                System.out.println("3.删除图书");
                System.out.println("4.借出图书");
                System.out.println("5.归还图书");
                System.out.println("6.退出图书");
                System.out.println("-------------------------");
                System.out.println("请选择:");
                int choose=input.nextInt();
                switch(choose){
                    case 1:
                        //新增图书
                        System.out.println("-->新增图书
    ");
                        System.out.println("请输入图书名称:");
                        String BookName=input.next();
                        boolean flag2=false;
                        for(int i=0;i<name.length;i++){
                            if(name[i]==null){
                                name[i]=BookName;
                                System.out.println("新增《"+BookName+"》成功!");
                                flag2=true;
                                break;
                            }
                        }
                        if(!flag2){
                            System.out.println("抱歉,新增《"+BookName+"》失败!货架已满!");
                        }
                        System.out.println("*****************************************");
                        break;
                    case 2:
                        //查看图书
                        System.out.println("-->查看图书
    ");
                        System.out.println("序号	状态	名称	借出日期	借出次数");
                        for(int i=0;i<name.length;i++){
                            if(name[i]!=null){
                                String BookState=(state[i]==0)?"可借阅":"已借出";
                                String dateStr=(date[i]==0)?"":(date[i]+"日");
                                System.out.println((i+1)+"	"+BookState+"	"+name[i]+"	"+dateStr+"	"+count[i]+"次");
                            }
                        }
                        System.out.println("*****************************************");
                        break;
                    case 3:
                        //删除图书
                        System.out.println("-->删除图书
    ");
                        System.out.println("请输入要删除图书的名称:");
                        String delete=input.next();
                        boolean flag3=false;
                        int index=-1;  //记录要删除图书的位置
                        for(int i=0;i<name.length;i++){
                            if(name[i]!=null && delete.equals(name[i]) && state[i]==0){
                                flag3=true;
                                index=i;
                                System.out.println("图书删除成功!");
                                break;
                            }else if(name[i]!=null && delete.equals(name[i]) && state[i]==1){
                                flag3=true;
                                System.out.println("该图书已被借出,目前无法删除!");
                                break;
                            }
                        }
                        //根据记录下来的删除图书的位置进行删除工作
                        if(index!=-1){
                            for(int j=index;j<name.length;j++){
                                if(j!=name.length-1){
                                    name[j]=name[j+1];
                                    state[j]=state[j+1];
                                    date[j]=date[j+1];
                                }
                                name[name.length-1]=null;
                                
                            }
                        }
                        if(!flag3){
                            System.out.println("没有找到匹配信息!");
                        }
                        System.out.println("*****************************************");
                        break;
                    case 4:
                        //借出图书
                        System.out.println("-->借出图书
    ");
                        System.out.print("请输入图书名称:");
                        String want=input.next();  //要借出的图书名称
                        for(int i=0;i<name.length;i++){
                            if(name[i]==null){  //无匹配
                                System.out.println("没有找到匹配信息!");
                                break;
                            }else if(want.equals(name[i]) && state[i]==0){  //找到匹配可借
                                state[i]=1; //将此图书置于借出状态
                                System.out.print("请输入借出日期:");
                                date[i]=input.nextInt();
                                while(date[i]<1 || date[i]>31){  //当输入借出的日期不满足1-31时
                                    System.out.println("必须输入大于等于1且小于等于31的数字,请重新输入:");
                                    date[i]=input.nextInt();
                                }
                                System.out.println("借出《"+want+"》成功!");
                                count[i]++;
                                break;
                            }else if(want.equals(name[i]) && state[i]==1){  //找到匹配已被借出
                                System.out.println("《"+want+"》已被借出!");
                                break;
                            }
                        }
                        System.out.println("*****************************************");
                        break;
                    case 5:
                        //归还图书
                        System.out.println("-->归还图书
    ");
                        int charge=0;  //租金
                        System.out.print("请输入归还图书名称:");
                        want=input.next();
                        for(int i=0;i<name.length;i++){
                            if(name[i]==null){ //无匹配
                                System.out.println("没有找到匹配信息!");
                                break;
                            }else if(want.equals(name[i]) && state[i]==1){//找到匹配
                                state[i]=0;  //将借阅状态修改为可借阅
                                System.out.print("请输入归还日期:");
                                int redate=input.nextInt();
                                while(redate<date[i] || redate>31){  //归还日期不能小于借出日期,也不能大于31
                                    if(redate<date[i]){
                                        System.out.println("归还日期不能小于借出日期,请重新输入:");
                                    }else{
                                        System.out.println("一个月只有31天,请重新输入:");
                                    }
                                    redate=input.nextInt();
                                }
                                charge=redate-date[i];
    
                                System.out.println("
    归还《"+want+"》成功!");
                                System.out.println("借出日期为:"+date[i]+"日");
                                System.out.println("归还日期为:"+redate+"日");
                                System.out.println("应付租金(元):"+charge);
                                date[i]=0;
                                break;
                            }else if(want.equals(name[i]) && state[i]==0){//找到匹配但没有借出
                                System.out.println("该图书没有被借出!无法进行归还操作。");
                                break;
                            }
                        }
                        System.out.println("*****************************************");
                        break;
                    case 6:
                        //退出图书
                        flag=false;
                        break;
                    default:
                        flag=false;
                        break;
                }
                if(flag){
                    System.out.println("输入0返回:");
                    num=input.nextInt();
                }else{
                    break;
                }
            }while(num==0);
            System.out.println("谢谢使用!");
        }
    }
  • 相关阅读:
    开源测试工具 JMeter 介绍 物联网大并发测试实战 01
    使用测试客户端「玩转」MQTT 5.0
    写给PPT用,可测试性驱动开发导向IOC的过程
    .net并行库的一些记录
    windows上python和django开发环境的安装和配置
    MongoDB的Journaling的工作原理(每日一译)
    留给晚上分享用的python代码
    为什么我们需要可测试的面向对象开发(翻译 )
    使用谷歌统计来跟踪网页加载时间
    酷壳上的一道面试题
  • 原文地址:https://www.cnblogs.com/beiweihaohao/p/14722626.html
Copyright © 2011-2022 走看看