DVD租赁小练习

DVD租赁项目

1.项目简介 crud

  • DVD管理系统提供 新增DVD, 查看DVD , 删除DVD , 借出DVD, 归还DVD
  • DVD管理系统与用户交互使用控制台输入

2. 需求分析

(1) DVD管理类:
向用户展示操作选项并判断用户操作
提供新增DVD,查看DVD,删除DVD,借出DVD,归还DVD

(2) DVD类:
包含DVD名字,借出时间,借出次数,DVD状态

(3) DVDMain类
程序入口类,负责实例化DVD管理类

3.功能要求

3.1. 新增DVD

  • 新增DVD 包含信息:
    (1) DVD名字 (DVD的名字要保证在系统中是唯一的 输入如果重复 则提示重新输入)
    (2) DVD状态 (0表示未借出 (默认值为 0) 1 表示 已借出)
    (3) 借出时间 (默认为nul)
    (4) 借出次数 (初始为0)

3.2. 查看DVD

  • 展示 :
    DVD的名字
    DVD的借用次数
    DVD的最后一次借用时间
    DVD的状态

3.3.删除DVD

  • 要求
    由控制台 输入 要删除的DVD的名字,根据名字删除对应的DVD

3.4. 借出DVD

  • 要求:
    由控制台输入 要借出的DVD的名字

  • 分析
    先根据名字查询DVD的状态,
    如果DVD的状态为 为 0则借出成功 并 让此DVD的借出次数加 1
    如果 借出状态为 1则 为借出失败

3.5. 归还DVD

  • 要求:

    由控制台输入要归还的DVD设备的名称,
    如果 此DVD 设备 的状态 为 1 则 可以归还成功,
    如果状态 为0 则 不能归还成功

4.代码实现

在这里插入图片描述
剩余代码自己编写完成!

DVD类

/**
 * DVD类
 * 包含:
     * DVD名字,
     * 借出时间,
     * 借出次数,
     * DVD状态
 */
public class DVDClass {
    String[] name = new String[10];//DVD名称数组
    int[] state = new int[10];  //DVD借出状态:1已借出,0可借
    String[] date = new String[10];  //DVD借出日期
    int[] times = new int[10];//借出次数
}

DVDManage管理类

import java.util.Scanner;
/**
 * * DVD管理类
 *  * 向用户展示操作选项并判断用户操作
 *      *  提供新增DVD,
 *      *  查看DVD,
 *      *  删除DVD,
 *      *  借出DVD,
 *      *  归还DVD
 *
 * @author Xin
 * @Date 2019-07-23
 * @Version 2.0
 */
public class DVDManage {
    DVDClass dvd = new DVDClass();
    Scanner sc = new Scanner(System.in);
    //添加初始化数据
    public  void datas() {
        dvd.name[0]="百变星君";
        dvd.state[0]=1;
        dvd.date[0]="2019-7-20";
        dvd.times[0]=1;

        dvd.name[1]="逃学威龙";
        dvd.state[1]=0;

        dvd.name[2]="澳门风云";
        dvd.state[2]=0;


    }

    //新增DVD
    // *      新增DVD 包含信息:
    // *      DVD名字  DVD的名字要保证在系统中是唯一的 输入如果重复 则提示重新输入,
    // *      借出时间  为null  ,
    // *      借出次数 为 0,
    // *      DVD状态 (0表示未借出 (默认值为 0) 1 表示 已借出))
    public void add() {
        int i;
        System.out.print("输入新增DVD信息:");
        String sname = sc.nextLine();
        if ( sname == null|| sname.isEmpty()) {
            System.out.println("请输入内容");
        }else{

        for (i = 0; i < dvd.name.length; i++) {
            if (dvd.name[i] == null ) {//找到空的添加
                dvd.name[i] = sname;
                dvd.state[i] = 0;
                dvd.date[i] = null;
                dvd.times[i] = 0;
                System.out.println("添加 " + sname + " 成功");
                break;
            }
            if (dvd.name[i].equals(sname)) {
                    System.out.println("此DVD已存在");
                    break;
            }
        }
        if (i == dvd.name.length) {
            System.out.println("添加失败");
        }
        }
    }

    //查看DVD
    // *      展示  :
    // *      DVD的名字
    // *      DVD的借用次数
    // *      DVD的最后一次借用时间
    // *      DVD的状态
    public  void search(){
        int i;
        System.out.println("序号\t名称\t状态\t借出日期\t借出次数");
        for (i = 0; i < dvd.name.length; i++) {
            if (dvd.name[i] != null) {
                if (dvd.state[i] == 0) {
                    System.out.println((i+1)+"\t"+dvd.name[i]+"\t"+
                            "未借"+"\t"+dvd.date[i]+"\t\t"+dvd.times[i]);
                }else {
                    System.out.println((i + 1) + "\t" + dvd.name[i] + "\t" +
                            "已借" + "\t" + dvd.date[i] + "\t" + dvd.times[i]);
                }
            }
        }
    }

    //删除DVD
    // * 要求由控制台 输入 要删除的DVD的名字,根据名字删除对应的DVD
    public  void delete(){
        int j;
        System.out.print("输入想要删除的DVD名字:");
        String name = sc.nextLine();
        for ( j = 0; j < dvd.name.length; j++) {
            if (dvd.name[j] != null && dvd.name[j].equals(name)) {
                if (dvd.state[j] == 0) {//未借出
                    dvd.name[j] = dvd.name[j+1];
                    dvd.name[j+1] = null;
                    dvd.state[j] = dvd.state[j+1];
                    dvd.state[j+1] = 0;
                    dvd.date[j] = dvd.date[j+1];
                    dvd.date[j+1] = null;
                    dvd.times[j] = dvd.times[j+1];
                    dvd.times[j+1] = 0;
                    System.out.println("删除成功");
                    break;
                }else{
                    System.out.println("已借出,无法删除");
                    break;
                }
            }
            }
            if (j == dvd.name.length) {
                System.out.println("未找到你要删除的DVD");
        }
    }

    //借出DVD
    // *        要求由控制台输入  要借出的DVD的名字,
    // *        先根据名字查询DVD的状态,如果DVD的状态为 为 0则借出成功 并 让此DVD的借出次数加 1
    // *        如果 借出状态为 1则 为借出失败
    public void rent(){
        boolean judge = true;
        int i;
        System.out.print("输入要借的DVD名称:");
        String name = sc.nextLine();
        for (i = 0; i < dvd.name.length; i++) {
            if(dvd.name[i] != null && dvd.name[i].equals(name)){
                if (dvd.state[i] == 0) {//可借
                    System.out.print("输入借出日期:");
                    String date = sc.nextLine();
                    dvd.state[i] = 1;//状态改变
                    dvd.date[i] = date;
                    dvd.times[i]++;
                    System.out.println("借出成功");
                    break;
                }else{
                    System.out.println("已借出,不可借");
                    break;
                }
            }
        }
        if (i == dvd.name.length) {
            System.out.println("未找到此DVD");
        }
    }
    //归还DVD
    // *      由控制台输入要归还的DVD设备  的名称,
    // *         如果 此DVD 设备 的状态 为 1 则 可以归还成功,
    // *         如果状态 为0 则 不能归还成功
    public void back(){
        System.out.print("输入要归还的DVD名称:");
        int i;
        String name = sc.nextLine();
        for ( i = 0; i < dvd.name.length; i++) {
            if (dvd.name[i] != null && dvd.name[i].equals(name)) {
                if (dvd.state[i] == 1) {//已借出
                    dvd.state[i] = 0;//状态改变
                    dvd.date[i] = null;
                    System.out.println("归还成功");
                    break;
                }else {
                    System.out.println("归还失败");
                    break;
                }
            }
        }
        if (i == dvd.name.length) {
            System.out.println("未找到此DVD");
        }
    }
}

DVDClass main实现类

import java.util.Scanner;
/**
 * DVDClass main实现类
 * 程序入口类,负责实例化DVD管理类

 */
public class DVDMain {
    public static void main(String[] args) {
        start();
    }

    //start菜单
    public static void start(){
        DVDManage dmg = new DVDManage();
        dmg.datas();
        boolean judge = true;
        while(judge){
            System.out.println("请选择你要执行的操作:1.新增DVD  2.查看DVD  3.删除DVD  4.借出DVD  5.归还DVD  0.退出");
            Scanner sc = new Scanner(System.in);
            String input = sc.nextLine();
            if ( input.equals("0")) {
                input = "6";
            }
            switch (input){
                case "1":
                    dmg.add();
                    break;
                case "2":
                    dmg.search();
                    break;
                case "3":
                    dmg.delete();
                    break;
                case "4":
                    dmg.rent();
                    break;
                case "5":
                    dmg.back();
                    break;
                case "6":
                    judge = false;
                    System.out.println("下次再来啊~");
                    break;
                default:
                    System.out.println("输入不正确");
                    break;
            }
        }
    }
}
房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统房屋销售系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值