DVD租赁小练习

2019/7/23 17:59:47 人评论 次浏览 分类:学习教程

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;
            }
        }
    }
}

相关资讯

    暂无相关的资讯...

共有访客发表了评论 网友评论

验证码: 看不清楚?
    -->