• 迷你DVD管理系统


    import java.util.*;
    import java.text.*;
    
    class DvdSet {
    
     //定义三个属性
     String[] name = new String[50]; // 为保证数组足够大
     String[] date = new String[50];// 借书的时间 
     int[]    state = new int[50];  // 借书的状态 , 0表示借出 ,1.表示可以借。
     int[]    count = new int[50]; // 借书的次数
    }
    
    
    class DvdMgr {
     
     //创建一个DvdSet对象
     DvdSet dvd = new DvdSet(); 
     
     //1.第一个方法初始化三个DVD数据
     public void initial(){
      //初始化三个Dvd
       dvd.name[0]= "罗马假日";
         dvd.state[0]=0;
       dvd.count[0] = 30;
        dvd.date[0]= "2016-11-18";
        dvd.name[1]="风声鹤唳";
                dvd.state[1]=1;
                dvd.name[2]= "浪漫满屋";
                dvd.state[2]=1;
       dvd.count[2] = 10;
     }
    
     //2.实现一个菜单切换
     public void startMenu() {
    
      System.out.println("*********************************");
      System.out.println("******欢迎使用迷你DVD管理器******");
      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("*********************************");
    
      Scanner input = new Scanner(System.in);
      System.out.println("请输入您的操纵:");
      int option = input.nextInt();
    
      switch(option){
    
       case 1 :
        addDvd();
        returnMenu();
        break;
    
       case 2 :
        searchDvd();
        returnMenu(); 
        break;
       case 3 :
        deleteDvd();
        returnMenu();
        break;
       case 4 :
        lendDvd();
        returnMenu();
        break;
       case 5 :
        returnDvd();
        returnMenu();
        break;
       case 6:
        list();
        returnMenu();
        
        break;
       case 7:
        System.out.println("谢谢使用,欢迎下次在来");
        break;
       default:
        System.out.println("输入异常,程序已经吓崩溃,正在重启中...");
        break;
    
      }
      
     }
    
     //3.返回菜单
     public void returnMenu() {
      System.out.println("输入0返回:");
      Scanner input = new Scanner(System.in);
    
      if(input.nextInt() == 0){
       
       //在此进入菜单切换
       startMenu();
      }else {
      
       System.out.println("输入异常,请从输入:");
       returnMenu();  // 递归调用。
      }
      
     }
    
     //4.查看的功能
     public void searchDvd(){
      System.out.println("******欢迎进入查看页面*****");
      //	 Tap
      System.out.println("序号	名称		状态	借出时间	");
      for(int i=0;i<dvd.name.length ; i++){
       if(dvd.name[i] == null){
        
        break;
       }else if (dvd.state[i] == 0){
        //代表已经借出
        System.out.println(i+1+"	"+"<<"+dvd.name[i]+">>	已借出	"+dvd.date[i]);
       }else if(dvd.state[i] == 1){
    
        //代没有借出
        System.out.println(i+1+"	"+"<<"+dvd.name[i]+">>	可借	");
       }
      }
    
      System.out.println("**************************************");
       
     }
    
     //5.新增Dvd
     public void addDvd(){
      System.out.println("******欢迎进入添加页面*****");
      System.out.println("请输入您要添加的Dvd:");
      Scanner input = new Scanner(System.in);
      String name = input.next();
      //将新增的内容放到最后
      for(int i = 0;i<dvd.name.length;i++){
       
       if(dvd.name[i] == null){ //到最后去了。
    
        dvd.name[i] = name;
        dvd.state[i] = 1;
        System.out.println("<<"+name+">>dvd添加成功");
        break;
       }
      }
      
     }
    
     //6.删除dvd
    
     public void deleteDvd(){
      System.out.println("******欢迎进入删除页面*****");
      System.out.println("请输入您要删除的Dvd名称:");
      Scanner input = new Scanner(System.in);
      String name = input.next();
    
      //1.没有找到  :  提示没有找到 请重新输入
      //2.找到 :
       //1.已经借出去 : 不能够删除
       //2.没有借出去 : 删除
    
      for(int i = 0;i<dvd.name.length;i++){
       //查找是否存在
       if(dvd.name[i] != null){
    
        if(dvd.name[i].equalsIgnoreCase(name)){ //已经找到
    
         //是否已经被借出
         if(dvd.state[i] == 0){ // 借出
          System.out.println("《"+name+"》已经被借出");
          break;
         }else if(dvd.state[i] == 1) {
    
          //没有借出需要删除
          //思路 : 1.用后面一个替换前面的。
           //2.把最后面多余的地方赋值为null.
          
    
          for(int j = i ;j<dvd.name.length;j++){
           
           //做交换
           if(dvd.name[j +1] != null){
            dvd.name[j] = dvd.name[j+1];
            dvd.state[j] = dvd.state[j+1];
    
           }else{
            //清空最后一个值
            dvd.name[j] = null;
            dvd.date[j] = null;
            break;
           }
           
          }
    
          System.out.println("删除《"+name+"》成功");
          break;
         }
        }
    
       }else {
         
         System.out.println("没有您要删除的dvd");
         System.out.println("***********************************************");
         break;
        } 
      }
    
     }
    
    
     //7.借dvd的功能
     public void lendDvd(){
      System.out.println("********欢迎进入借书页面********");
      System.out.println("请输入您要借的dvd名称:");
      Scanner input = new  Scanner(System.in);
      String name = input.next();
      
      //1.判断有没有dvd
       //1.又没有被借出去。
      for(int i = 0;i<dvd.name.length;i++){
    
       if(dvd.name[i] != null){ // 有dvd
    
        if(dvd.name[i].equalsIgnoreCase(name) && dvd.state[i] == 1){ //有书并且没有被借出去
         
         //借书
         //1.修改状态
         dvd.state[i] = 0;
         System.out.println("请输入借书的时间(年-月-日):");
         Scanner inputDate = new Scanner(System.in);
         dvd.date[i] = inputDate.next();
         System.out.println("借书成功");
         dvd.count[i]++;
         break;
    
        }else if(dvd.name[i].equalsIgnoreCase(name) && dvd.state[i] == 0){
         System.out.println("不好意思此书已经被借出");
         break;
        }
    
       }else { // dvd
        
        System.out.println("没有您要找的DVD");
        break;
       }
      }
    
     }
    
     //8.还Dvd 计算价格
     public void returnDvd(){
    
      System.out.println("********欢迎进入还DVD页面******************");
      System.out.println("请输入还dvd的名称:");
      Scanner input = new Scanner(System.in);
      double  price = 0.0;
      String name = input.next();
      for(int i = 0;i<dvd.name.length;i++){
    
       if(dvd.name[i]!=null){ //
    
        if(dvd.name[i].equalsIgnoreCase(name) && dvd.state[i] == 0){ //以借出就可以归还
         dvd.state[i] = 1;
         System.out.println("请输入归还书籍的时间(年-月-日):");
         Scanner inputDate = new Scanner(System.in);
         //获取时间差
         long charge = charge(dvd.date[i],inputDate.next());
         price = charge * 1;
         System.out.println("《"+dvd.name[i]+"》归还成功");
         System.out.println("您应付"+price+"元");
         //清空时间
         dvd.date[i] = null;
         break;
    
        }
    
       }else{
        System.out.println("没有找到匹配的信息");
        break;
       }
      }
      System.out.println("************************************************");
    
     }
    
     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(){
    
      System.out.println("欢迎进入Dvd排行榜");
      //排序
      for(int i = 0 ; i <dvd.name.length-1;i++){
    
       if(dvd.name[i] != null){
        
        for(int j = 0; j<dvd.name.length-1-i;j++){
    
         if(dvd.name[j] != null){
    
          if(dvd.count[j] < dvd.count[j+1]){
    
          int temp = dvd.count[j];
          dvd.count[j] = dvd.count[j+1];
          dvd.count[j+1]= temp;
          
          String name1 = dvd.name[j];
          dvd.name[j] = dvd.name[j+1];
          dvd.name[j+1] = name1; 
    
          String date1= dvd.date[j];
          dvd.date[j] = dvd.date[j+1];
          dvd.date[j+1] = date1; 
          
          int state1= dvd.state[j];
          dvd.state[j] = dvd.state[j+1];
          dvd.state[j+1] = state1;
    
          }
         }else {
          break;
         }
         
         
        }
    
       }else{
        break;
       }
      }
      System.out.println("序号	名称		状态	借出时间	");
      for(int i=0;i<dvd.name.length ; i++){
       if(dvd.name[i] == null){
        
        break;
       }else if (dvd.state[i] == 0){
        //代表已经借出
        System.out.println(i+1+"	"+"<<"+dvd.name[i]+">>	已借出	"+dvd.date[i]);
       }else if(dvd.state[i] == 1){
    
        //代没有借出
        System.out.println(i+1+"	"+"<<"+dvd.name[i]+">>	可借	");
       }
      }
    
      System.out.println("**************************************");
       
     }
    
     
    }
    
    class DvdMain{
    
     public static void main (String[] args){
    
      DvdMgr dvd = new DvdMgr();
      //初始化dvd
      dvd.initial();
    
      //开始进入切换菜单
      dvd.startMenu();
     }
    }
  • 相关阅读:
    maxscript批量设置摄像机并保存渲染图
    约德尔测试
    团队作业-项目答辩
    团队作业2
    团队作业2
    软件工程-团队作业1
    java HmacMd5 Hmacsha1 hmacsha256加密
    centos7 搭建FTP
    windows相关
    如何在CentOS 7上安装Memcached(缓存服务器)
  • 原文地址:https://www.cnblogs.com/binzhihua-666/p/6100465.html
Copyright © 2020-2023  润新知