• 图书管理系统


    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Date;
    import java.util.List;
    import java.util.Scanner;
    
    
    class SetDvd{
        //书名
        List<String> name =new ArrayList<String>();
        //时间
        List<String> date =new ArrayList<String>();
        //状态//借书的状态 , 0表示借出 ,1.表示可以借。
        List<Integer> state =new ArrayList<Integer>();
        //次数
        List<Integer> count =new ArrayList<Integer>();
    }
    class MgrDvd {
         String inn;
        SetDvd dvd =new SetDvd();
        
        //1.第一个方法初始化三个DVD数据
        public void initial(){
            //初始化三个Dvd
             dvd.name.add("我本坏蛋");
             dvd.date.add("2016-11-18");
               dvd.state.add(0);
             dvd.count.add(30);
             
              dvd.name.add("吞噬星空"); 
              dvd.date.add("yyyy-MM-dd");
             dvd.state.add(1);
             dvd.count.add(2);
                   
             dvd.name.add("英雄联盟");
             dvd.date.add("yyyy-MM-dd");
             dvd.state.add(1); 
             dvd.count.add(10);
        }
        //是否进入dvd管理器
        public void inDvd(){
            Scanner str =new Scanner(System.in);
            String inn =str.next();
            if(inn.equals("YES") ||(inn.equals("yes"))){
                startDvd();
            }else{
                System.out.println("谢谢使用,欢迎再次的尝试");
                inDvd();
            }
            
        }
        //dvd 管理器界面
        public void startDvd(){
            
            System.out.println("********************************");
            System.out.println("******       1.新增DVD     ******");
            System.out.println("******       2.查看DVD     ******");
            System.out.println("******       3.删除DVD     ******");
            System.out.println("******       4.借出DVD     ******");
            System.out.println("******       5.归还DVD     ******");
            System.out.println("******       6.DVD排行榜         ******");
            System.out.println("******       7.退出                     ******");
            System.out.println("********************************");
            System.out.println("您好!需要什么帮助请输入以上需求对应的数字。谢谢!");
            selectDvd();
        }
      
        
        // dvd管理器选择表
        public void selectDvd(){
            System.out.println("您好! 我是0001智能服务员,很高兴为您服务。请选择:");
            System.out.print("-------> ");
            Scanner cou = new Scanner(System.in);
            int option = cou.nextInt();
            
            switch(option){
            case 1:
                System.out.println("******       新增DVD     ******");
              System.out.println("你想添加几个,请输入要添加的个数");
              Scanner sc = new Scanner(System.in);
              int  sca = sc.nextInt();
              for(int i=0; i<sca;i++){
                addDvd();
              }
                returnDvd();
                System.out.println("********************************");
                break;
            case 2:
                System.out.println("******       查看DVD     ******");
                lookDvd();
                returnDvd();
                System.out.println("********************************");
                break;
            case 3:
                System.out.println("******       删除DVD     ******");
                 System.out.println("你想要删除几个,请输入要删除的个数");
                  Scanner sc1 = new Scanner(System.in);
                  int  sca1 = sc1.nextInt();
                  for(int i=0; i<sca1;i++){
                      removeDvd();
                  }
                
                returnDvd();
                System.out.println("********************************");
                break;
            case 4:
                System.out.println("******       借出DVD     ******");
                 System.out.println("你想要借几个,请输入要借出的个数");
                  Scanner sc2 = new Scanner(System.in);
                  int  sca2 = sc2.nextInt();
                  for(int i=0; i<sca2;i++){
                      lendDvd();
                  }
               
                returnDvd();
                System.out.println("********************************");
                break;
            case 5:
                System.out.println("******       归还DVD     ******");
                 System.out.println("你想归还几个,请输入要归还的个数");
                  Scanner sc3 = new Scanner(System.in);
                  int  sca3 = sc3.nextInt();
                  for(int i=0; i<sca3;i++){
            bringDvd();
                  }
            
                returnDvd();
                System.out.println("********************************");
                break;
            case 6:
                System.out.println("******       DVD排行榜         ******");
                list();
                returnDvd();
                System.out.println("********************************");
                break;
            case 7:
                System.out.println("******       退出                     ******");
                System.out.println("亲~ 谢谢使用迷你DVD管理器。");
                System.out.println("********************************");
                break;
            default:
                System.out.println("         你好,请输入正确的指令:  " );
                startDvd();
                System.out.println("********************************");
            }
        }
        //dvd管理器 返回界面
          public void returnDvd(){
              System.out.println("*********  输入0 返回    **********" );
                 Scanner c = new Scanner(System.in);
                 int option =c.nextInt();
                 if(option==0){
                     startDvd();
                 }else{
                     System.out.println("sb 你输错了,哈哈 ...yes 再试一下");
                     returnDvd();
                 }    
              }
          // 新增DVD
          public  void addDvd(){
              System.out.println(" 输入你要新增的DVD名");
              Scanner input = new Scanner(System.in);
              String n =input.next();
             dvd.name.add(n);
             dvd.state.add(1);
             dvd.date.add("yyyy-MM-dd");
             dvd.count.add(0);//新增的DVD 次数为0
             System.out.println( "<<"+n+">>添加成功");
              }
          //查看DVD
          public void lookDvd(){
            System.out.println("序号	名称			状态		借出时间		借出的次数");
            for(int i=0; i<dvd.state.size();i++){
                if(dvd.state.get(i)==0){
                    System.out.println((i+1)+"	"+"<<"+dvd.name.get(i)+">>"+"	"+"	"+"已借出	"+"	"+dvd.date.get(i)+"	"+dvd.count.get(i));
                }else if(dvd.state.get(i)==1){
                    System.out.println((i+1)+"	"+"<<"+dvd.name.get(i)+">>"+"	"+"	"+"未借出	"+"	"+dvd.date.get(i)+"	"+dvd.count.get(i));
                } 
            }
            
          }
            //删除DVD    
         public void removeDvd(){
             System.out.println("输入你要删除的名字:");
             Scanner c =new Scanner(System.in);
             String input = c.next();
             int num = dvd.name.indexOf(input);
             if(num>=0){
                if(dvd.state.get(num).intValue() !=0){
                    dvd.name.remove(num);
                    dvd.state.remove(num);
                    dvd.date.remove(num);
                    dvd.count.remove(num);
                    System.out.println("<<"+input+">>删除成功");
                } else{
                    System.out.println("DvD已被借出 ,不能删除");
                }
             }else {
                 System.out.println("请确认DVD的名字");
             } 
             
         } 
         
         //借出Dvd
         public void lendDvd(){
             System.out.println("输入要借的DVD的名字");
             Scanner c =new Scanner(System.in);
             String input = c.next();
             int num = dvd.name.indexOf(input);
             if(num>=0){
                if(dvd.state.get(num).intValue()!=0){
                    System.out.println("输入借DVD的时间");
                    String times = c.next();
                    dvd.state.set(num,0);
                    dvd.date.set(num, times);
                    dvd.count.set(num, dvd.count.get(num)+1);//次数+1
                    System.out.println("借DVD<<"+input+">>成功,祝你看的愉快!");
                }else{
                    System.out.println("DVD已被借出,不能再借");
                }
             }else {
                 System.out.println("不好意思,没有此dvd");
             }
              
         }
         //归还DVD
         public void bringDvd(){
             System.out.println("输入你要还的DVD");
             Scanner c =new Scanner(System.in);
             String input = c.next();
             int num = dvd.name.indexOf(input);
             if(num>=0){
                 if(dvd.state.get(num).intValue()==0){
                     System.out.println("输入还DVD的时间");
                     String times = c.next();
                 long  money=charge(dvd.date.get(num),times);
                     dvd.state.set(num,1);
                     dvd.date.set(num,"yyyy-MM-dd");
                     System.out.println("你的借DVD<<"+input+">>的天数为"+money+"要交的钱为"+(money*2));
                     System.out.println("归还DVD成功,谢谢使用  您还有别的需要吗");
                 }else{
                     System.out.println("此DVD你没有借");
                 }
              }else {
                  System.out.println("不好意思,没有此dvd");
              }
             
         } 
         
         public long charge(String date1,String date2){
             
             //做时间差
             //将String转为Date做计算
             SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
             long charge = 0;
             try{
                 Date d1 = sd.parse(date1);  
                 Date d2 = sd.parse(date2);
                 //时间也是以毫秒为单位。
                 charge = (d2.getTime() - d1.getTime()) / (1000*24*60*60);
             }catch(ParseException e){
                 System.out.println(e);
             }
             
             return charge;
         }
         //排行榜
         public void list(){
             Object[] ocCount =dvd.count.toArray();
             Object[] ocName = dvd.name.toArray();
             System.out.println(dvd.count.size()+" "+dvd.name.size());
             int temp=0;
             String str=null;
             for(int i = 0;i<dvd.count.size()-1;i++){
                 for(int j =0 ; j<dvd.count.size()-1-i;j++){
                     if((int)ocCount[j]<(int)ocCount[j+1]){
                         
                         temp =(int)ocCount[j];
                         ocCount[j]=ocCount[j+1];
                         ocCount[j+1]=temp;
                         
                         str =(String)ocName[j];
                         ocName[j] = (String)ocName[j+1];
                         ocName[j+1] =str;
                     }
                 }
             }
            // System.out.println("序号	"+"DVD		"+"	"+"借出的次数");
             for(int i =0 ;i<dvd.count.size();i++){
                 System.out.println((i+1) + "	" + "<<"+ocName[i]+">>" + "		" + ocCount[i]);
    
                 
             }
         }
        
    }
    public class demo1 {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
           //初始化dvd
            System.out.println("******  欢迎使用迷你DVD管理器    ******");
             System.out.println("您是否要进入迷你DVD管理器:YES ? NO");  
            MgrDvd dvd = new MgrDvd();
            dvd.initial();
            dvd.inDvd();
            //调用存入的内容
            
            
            
        }
    
    }
  • 相关阅读:
    20190430-screen、client、offset、scroll等JS中各种宽度距离
    20190423-Vscode与Sass不得不说的秘密(>^ω^<)
    20190422-外部导入CSS样式之link、CSS@import、Sass分音
    20190421-那些年使用过的CSS预处理器(CSS Preprocessor)之Sass and Less
    20190421-那些年使用过的CSS预处理器(CSS Preprocessor)
    20190409-层叠の层叠上下文、层叠水平、层叠顺序、z-index、伪元素层叠
    20190408-规范书写
    20190404-transition、transform转换、animation、媒体查询
    20190402-display展现、float浮动
    20190401-颜色书写
  • 原文地址:https://www.cnblogs.com/zhv5/p/6124394.html
Copyright © 2020-2023  润新知