zoukankan      html  css  js  c++  java
  • 迷你DVD管理器

    import java.text.*;
    import java.util.*;
     class DVDSet {
            String[] name=new String[50];        //定义一个DVD数组 
            boolean[] state=new boolean[50];                //定义DVD借出状态:true.已借出false.可借
            String[] date=new String[50];        //定义借出日期
            int[] count=new int[50];        //定义借出次数
    }
    
    
    
    class DVDMgr {
            Scanner input = new Scanner(System.in);
            DVDSet dvd = new DVDSet(); // 初始化对象
            boolean isJiechu = true; // 已借出是true 可借是false
    
            // 初始化三张DVD信息
            public void initial() {
                    dvd.name[0] = "罗马假日";
                    dvd.state[0] = true; // 已借出
                    dvd.date[0] = "2007-7-1";
                    dvd.name[1] = "风声鹤唳";
                    dvd.state[1] = false; // 可借
                    dvd.name[2] = "浪漫满屋";
                    dvd.state[2] = false; // 可借
            }
    
            public void startMenu() {
                    System.out.println("欢迎使用迷你DVD管理器");
                    System.out.println("--------------------------");
                    System.out.println("0.借出排行榜");
                    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.退出");
                    System.out.println("---------------------------");
                    System.out.print("请选择:");
                    int choice = input.nextInt();
                    switch (choice) {
                    case 0:
                            list(); // 查看借出排行
                            break;
                    case 1:
                            add(); // 新增DVD
                            break;
                    case 2:
                            search(); // 查看DVD
                            break;
                    case 3:
                            delete(); // 删除DVD
                            break;
                    case 4:
                            lend(); // 借出DVD
                            break;
                    case 5:
                            returnDvd(); // 归还DVD
                            break;
                    case 6:
                            System.out.println("感谢您的使用!");
                            break;
                    default:
                            System.out.println("你的输入有误,请重新输入");
                            returnMain();
                    }
            }
    
            public void returnMain() {
                    System.out.print("输入0返回:");
                    if (input.nextInt() == 0) {
                            startMenu();
                    } else {
                            System.out.println("输入错误,异常终止!");
                    }
            }
    
            // 查看借出排行
            public void list() {
                    String[] newname = new String[50]; // 定义新数组 显示DVD名称
                    int[] newcount = new int[50]; // 定义新数组 显示借出次数
                    for (int i = 0; i < dvd.name.length; i++) {
                            newname[i] = dvd.name[i];
                            newcount[i] = dvd.count[i];
                    }
                    for (int i = 0; i < newname.length; i++) { // 2层循环控制位置
                            for (int j = i + 1; j < newname.length; j++) {
                                    if (newcount[i] > newcount[j]) {
                                            int temp = newcount[i]; // 2次交换实现次数和名字的替换
                                            newcount[i] = newcount[j];
                                            newcount[j] = temp;
                                            String temp1 = newname[i];
                                            newname[i] = newname[j];
                                            newname[j] = temp1;
                                    }
                            }
                    }
                    System.out.println("---> 排行榜
    ");
                    System.out.println("**************************");
                    System.out.println("次数	名称");
                    // 逆序打印排行榜
                    for (int i = newname.length - 1; i >= 0; i--) {
                            if (newname[i] != null) {
                                    System.out.println(newcount[i] + "	《" + newname[i] + "》");
                            }
                    }
                    System.out.println("**************************");
                    returnMain();
            }
    
            // 新增DVD
            public void add() {
                    System.out.println("--->新增DVD
    ");
                    System.out.print("请输入DVD的名称:");
                    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] = false; // 新增的光盘是可借的
                                    System.out.println("新增《" + name + "》成功");
                                    break;
                            }
                    }
                    System.out.println("**************************");
                    returnMain();
            }
    
            // 查看DVD
            public void search() {
                    System.out.println("--->查看DVD
    ");
                    System.out.println("序号	状态	名称		借出日期");
                    for (int i = 0; i < dvd.name.length; i++) {
                            if (dvd.name[i] == null) {
                                    break;
                            } else if (dvd.state[i] == true) {
                                    System.out.println((i + 1) + "	已借出	《" + dvd.name[i] + "》	"
                                                    + dvd.date[i]);
                            } else if (dvd.state[i] == false) {
                                    System.out.println((i + 1) + "	可借	《" + dvd.name[i] + "》");
                            }
                    }
                    System.out.println("**************************");
                    returnMain();
            }
    
            // 删除DVD
            public void delete() {
                    System.out.println("--->删除DVD
    ");
                    System.out.print("请输入DVD的名称:");
                    String name = input.next();
                    boolean flag = false;
                    for (int i = 0; i < dvd.name.length; i++) {
                            if (dvd.name[i] != null && dvd.name[i].equalsIgnoreCase(name)
                                            && dvd.state[i] == false) {
                                    int j = i;
                                    while (dvd.name[j + 1] != null) {
                                            dvd.name[j] = dvd.name[j + 1]; // 删除元素,元素前移
                                            dvd.state[j] = dvd.state[j + 1];
                                            dvd.date[j] = dvd.date[j + 1];
                                            j++;
                                    }
                                    // 最后一个不为空的元素置空
                                    dvd.name[j] = null;
                                    dvd.date[j] = null;
                                    System.out.println("删除《" + name + "》成功!");
                                    flag = true; // 标识位
                                    break;
                            } else if (dvd.name[i] != null
                                            && dvd.name[i].equalsIgnoreCase(name)
                                            && dvd.state[i] == true) {
                                    System.out.println("《" + name + "》为借出状态,不能删除!");
                                    flag = true;
                                    break;
                            }
                            if (flag == true) {
                                    System.out.println("没有找到匹配信息");
                            }
                    }
                    System.out.println("**************************");
                    returnMain();
            }
    
            // 借出DVD
            public void lend() {
                    System.out.println("--->借出DVD
    ");
                    System.out.print("请输入DVD的名称:");
                    String name = input.next();
                    for (int i = 0; i < dvd.name.length; i++) {
                            if (dvd.name[i] == null) {
                                    System.out.println("没有找到匹配信息!");
                                    break;
                            } else if (dvd.name[i].equals(name) && dvd.state[i] == false) {
                                    System.out.print("请输入借出日期(年-月-日):");
                                    dvd.date[i] = input.next();
                                    System.out.println("《" + name + "》借出成功");
                                    dvd.state[i] = true;
                                    dvd.count[i]++;
                                    break;
                            } else if (dvd.name[i].equals(name) && dvd.state[i] == true) {
                                    System.out.println("不好意思,《" + name + "》已被借出!");
                                    break;
                            }
                    }
                    System.out.println("**************************");
                    returnMain();
            }
    
            // 归还DVD
            public void returnDvd() {
                    System.out.println("--->归还DVD
    ");
                    System.out.print("请输入DVD名称:");
                    String name = input.next();
                    long loan = 0; // 租金
                    for (int i = 0; i < dvd.name.length; i++) {
                            if (dvd.name[i] == null) {
                                    System.out.println("没有找到匹配信息!");
                                    break;
                            } else if (dvd.name[i].equals(name) && dvd.state[i] == true) {
                                    System.out.print("请输入归还日期(年-月-日):");
                                    String redate = input.next();
                                    loan = charge(dvd.date[i], redate);
                                    System.out.println("
    《" + name + "》归还成功");
                                    dvd.state[i] = false;
                                    System.out.println("借出日期为:" + dvd.date[i]);
                                    System.out.println("归还日期为:" + redate);
                                    System.out.println("应付租金(元):" + loan);
                                    break;
                            } else if (dvd.name[i].equals(name) && dvd.state[i] == false) {
                                    System.out.println("《" + name + "》没有被借出,无法进行归还操作!");
                                    break;
                            }
                    }
                    System.out.println("**************************");
                    returnMain();
            }
    
            // 计算日期差
            public long charge(String dstr1, String dstr2) {
                    long charge = 0;
                    SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); // 格式化日期
                    try {
                            Date d1 = sd.parse(dstr1);
                            Date d2 = sd.parse(dstr2);
                            charge = (d2.getTime() - d1.getTime()) / (24 * 60 * 60 * 1000);
                    } catch (ParseException e) {
                            e.printStackTrace();
                    }
                    return charge;
            }
    }
    
    
    class Demo {
    
            public static void main(String[] args) {
                 
                    DVDMgr dm=new DVDMgr();
                    dm.initial();
                    dm.startMenu();
            }
    
    }
    

    迷你DVD管理器,实现DVD碟片的管理,主要包括如下功能。

      1.新增DVD 

        2.查看DVD 

        3.删除DVD 

        4借出DVD

        5.归还DVD

  • 相关阅读:
    Dom对象和jQuery对象区别 jQuery对象转换为Dom对象、、Dom对象转换为jquery对象
    jquery 1,2,3三个版本的下载、区别/以及jquery使用步骤,jQuery入口函数
    2021年3月4日 第一周开课博客
    2021年3月3日
    2021年3月2日
    2021年2月24日 记账本开发07
    2021年2月23日 记账本开发06
    2021年2月22日 记账本开发05
    程序员修炼之道读书笔记03
    2021年2月21日 记账本开发04
  • 原文地址:https://www.cnblogs.com/houjiie/p/6078501.html
Copyright © 2011-2022 走看看