Java基础课程设计——DVD管理器

一、DVD管理器项目介绍

        基于java的DVD管理器实现,功能如下:新增DVD,查看DVD,删除DVD,借出DVD,归还DVD,退出DVD

        

 二、代码实现

        1、创建三个类

                DVD:存放DVD属性

                DVDManager:用来实现DVD管理器的功能

                Test:测试运行DVD管理器

         

        2.DVD类代码

     

package com.java17;

public class DVD {
    //书名
    String name;
    //借出次数
    int count;
    //图书借出状态
    String status="可借";
    //借出日期
    String data = "";
}

        3.DVDManager类代码    

        

package com.java17;

import java.util.Scanner;

public class DvdManager {

    //存储DVD
    DVD[] dvdList = new DVD[50];
    Scanner sc = new Scanner(System.in);

    //初始化数据
    public void initial(){
        dvdList[0] = new DVD();
        dvdList[0].name = "水浒传";
        dvdList[0].count = 1;
        dvdList[0].status = "借出";
        dvdList[1] = new DVD();
        dvdList[1].name = "三国演义";
        dvdList[1].count = 7;
        dvdList[1].status = "可借";
        dvdList[2] = new DVD();
        dvdList[2].name = "西游记";
        dvdList[2].count = 6;
        dvdList[2].status = "可借";
    }

    //显示菜单
    public void startMenu(){
        System.out.println("欢迎进入迷你DVD管理系统");
        System.out.println("---------------------------------");
        System.out.println("0:借出排行榜");
        System.out.println("1:新增");
        System.out.println("2:查看");
        System.out.println("3:删除");
        System.out.println("4:借出");
        System.out.println("5:归还");
        System.out.println("6:退出");
        System.out.println("---------------------------------");
        System.out.println("请选择:");

        int num = sc.nextInt();

        switch (num){
            case 0:
                System.out.println("------>排行榜");
                break;
            case 1:
                System.out.println("------>新增");
                addDVD();
                break;
            case 2:
                System.out.println("------>查看");
                showList();
                break;
            case 3:
                System.out.println("------>删除");
                deleteDVD();
                break;
            case 4:
                System.out.println("------>借出");
                borrrowDVD();
                break;
            case 5:
                System.out.println("------>归还");
                returnDVD();
                break;
            case 6:
                System.out.println("------>退出");
                breakDVD();
                break;
            default:
                System.out.println("输入有误!!!");
                break;
        }

    }

    //新增
    public void addDVD(){
        DVD d = new DVD();
        System.out.println("请输入添加书籍名称:");
        d.name =sc.next();
        for(int i=0;i<dvdList.length;i++){
            if (dvdList[i]==null){
                dvdList[i] = d;
                System.out.println("添加成功!!!");
                break;
            }
        }
        returnMenu();
    }

    //查看
    public void showList() {
        System.out.println("序号\t\t名称\t\t\t状态\t\t借出日期\t\t借出次数");
        for (int i=0;i<dvdList.length;i++){
            DVD d = dvdList[i];
            if (d!=null){
                System.out.println((i+1)+"\t\t"+d.name+"\t\t"+d.status+"\t\t"+d.data+"\t\t\t"+d.count);
            }else {
                break;
            }
        }
        returnMenu();
    }

    //删除
    public void deleteDVD() {
        DVD d = new DVD();
        System.out.println("请输入删除的DVD名称:");
        d.name = sc.next();
        boolean flag = false;
        for(int i=0;i<dvdList.length;i++){
            if (dvdList[i] != null) {
                if (dvdList[i].name.equals(d.name)){        找到删除位置
                    flag = true;
                    if (dvdList[i].status =="可借"){         //可借状态,可以删除
                        for (int j=i+1;j<dvdList.length;j++){       //后面的书依次前移
                            if(dvdList[j] == null){         //如果该书正好是最后一个
                                dvdList[j-1] = null;
                                System.out.println("删除成功!!!");
                                break;
                            }
                            else {
                                dvdList[j-1] = dvdList[j];
                                System.out.println("删除成功!!!");
                            }
                        }
                    }
                    else {
                        System.out.println(dvdList[i].name+"为借出状态,不可删除!");
                    }
                }
            }
        }
        if (flag == false) {
            System.out.println("该DVD不存在,请输入合法书名");
            deleteDVD();
        }
        else {
            returnMenu();
        }

    }

    //借出
    public void borrrowDVD(){

        System.out.println("请输入需要借的书:");
        String name = sc.next();
        System.out.println("请输入要归还的日期:");
        String data = sc.next();
        boolean flag = false;
        for (int i=0;i<dvdList.length;i++){
            if (dvdList[i] != null){
                if (dvdList[i].name.equals(name)){
                    flag = true;
                    if(dvdList[i].status == "可借"){
                        dvdList[i].status="借出";
                        dvdList[i].data= data;
                        System.out.println("借出成功!!!");
                        break;
                    }
                    else {
                        System.out.println("已借出,不可借阅!!!");
                    }
                }
            }
        }
        if (flag == false){
            System.out.println("书名错误,请重新输入:");
            borrrowDVD();
        }
        else
            returnMenu();

    }

    //归还
    public void returnDVD(){

        System.out.println("请输入需要归还的书:");
        DVD d = new DVD();
        d.name = sc.next();
        boolean flag = false;
        for(int i=0;i<dvdList.length;i++){
            if(dvdList[i] != null){
                if (dvdList[i].name.equals(d.name)){     //找到了归还的书籍位置
                    flag = true;
                    dvdList[i].status = "可借";
                    dvdList[i].count ++;
                }
            }
        }
        if (flag == false){
            System.out.println("书籍名称错误,请重新输入:");
            returnDVD();
        }
        else {
            System.out.println("归还成功!!!");
            returnMenu();
        }

    }

    public void breakDVD(){
        System.out.println("已退出");
    }

    //返回
    public void returnMenu() {
        System.out.println("输入0返回:");
        int num = sc.nextInt();
        if(num == 0)
            startMenu();
        else
            System.out.println("输入有误!!!");
    }

}

4.Test类代码

package com.java17;

public class Test {
    public static void main(String[] args) {
        DvdManager dv = new DvdManager();
        dv.initial();
        dv.startMenu();
    }
}