使用JAVA制作迷你DVD管理系统

1.思路:

先构思DVD的主菜单需要显示哪些内容,再针对每一个内容去构思需要定义的变量和数组,考虑每一个内容需要用到的方法和结构,最后单独编码每一个内容。注意:不要在编码完全部的方法后再测试,每编码一个方法后就进行一次测试,以确保每一个方法都是正确的,并在最后进行一个总测试。

2.初始化DVD:

代码: 

    int[] indexs=new int[50]; //定义数组
    String[] names=new String[50];
    String[] states=new String[50];
    String[] dates=new String[50];
    Scanner input=new Scanner(System.in);
    public void init(){ //初始化
        indexs[0]=1;//书的序号
        indexs[1]=2;
        indexs[2]=3;
        names[0]="哈利波特";//书名
        names[1]="全球通史";
        names[2]="百年孤独";
        states[0]="借出";//书的状态
        states[1]="可借";
        states[2]="可借";
        dates[0]="2000-01-01";//书的借出日期
        dates[1]="";//未借出则不填写
        dates[2]="";
    }

3.制作DVD管理目录:

代码:

 public void mume(){ //菜单
        System.out.println("欢迎使用迷你DVD管理系统");
        System.out.println("*******************");
        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.println("请选择:");
        int index=input.nextInt();
        switch (index){ //选择方法
            case 1:
                methods01();
            case 2:
                methods02();
            case 3:
                methods03();
            case 4:
                methods04();
            case 5:
                try {
                    methods05();
                } catch (ParseException e) {
                    throw new RuntimeException(e);
                }
            case 6:
                System.out.println("结束此系统");
                System.exit(1);
        }
    }
    public static void main(String[] args) { //main方法
        DVD dvd=new DVD();
        dvd.init();
        dvd.mume();
    }

测试:

4.定义方法:

(1)定义新增DVD方法

  代码:

 private void methods01(){ //新增书籍方法
        System.out.println("请输入要新增的DVD名称:");
        String dvdname=input.next();
        int i=0;
        for (;i<names.length;i++){
            if (names[i]==null){
                indexs[i]=i+1;
                names[i]=dvdname;
                states[i]="可借";
                dates[i]="";
                System.out.println("添加《"+dvdname+"》成功");
                break;
            }
        }
        getreturn();
    }

  测试:

(2)定义查看DVD方法

  代码:

private void methods02(){ //查看书籍方法
        System.out.println("序号\t名字\t\t状态\t日期");
        for (int i=0;i<indexs.length;i++){
            if (names[i]==null){
                break;
            }
            System.out.println(indexs[i]+"\t"+names[i]+"\t"+states[i]+"\t"+dates[i]);
        }
        System.out.println("================");
        getreturn();
    }

  测试:

(3)定义删除DVD方法

  代码:

 private void methods03(){ //删除书籍方法
        System.out.println("请输入要删除的DVD:");
        String dvdname=input.next();
        int i=0;
        int index=0;
        boolean flag=false;
        for (;i<indexs.length;i++){
            if (dvdname.equals(names[i])){
                index=i;
                flag=true;
                break;
            }
        }
        if (flag){
            if (states[i]=="可借"){
                System.out.println("删除DVD成功");
                int j=index;
                for (;j<indexs.length;j++){
                    names[j]=names[j+1];
                    if (names[j]==null){
                        break;
                    }
                }
            }else {
                System.out.println("该书籍已借出,不可删除");
            }
        }else {
            System.out.println("未找到该DVD");
        }
        getreturn();
    }

  测试:

(4)定义借出DVD方法

  代码:

private void methods04(){ //借出书籍方法
        System.out.println("请输入要借的书籍名称:");
        String dvdname=input.next();
        boolean flag=false;
        int i=0;
        for (;i<names.length;i++){
            if (dvdname.equals(names[i])){
                flag=true;
                break;
            }
        }
        if (flag){
            if (states[i]=="可借"){
                System.out.println("请输入借出日期");
                String date=input.next();
                dates[i]=date;
                states[i]="借出";
                System.out.println("成功借出DVD");
            }else {
                System.out.println("该DVD已借出,不可再次借出");
            }
        }else {
            System.out.println("未找到该DVD");
        }
        getreturn();
    }

  测试:

(5)定义归还DVD方法

  代码:

private void methods05() throws ParseException { //归还书籍方法
        System.out.println("请输入要归还的DVD名称");
        String  dvdname=input.next();
        boolean flag=false;
        int i=0;
        for (;i<names.length;i++){
            if (dvdname.equals(names[i])){
                flag=true;
                break;
            }
        }
        if (flag){
            if (states[i]=="可借"){
                System.out.println("不是该店DVD,无法归还");
            }else if(states[i]=="借出"){
                System.out.println("输入归还日期");
                String date1=dates[i];
                String date2=input.next();
                states[i]="可借";
                dates[i]="";
                System.out.println("归还DVD成功");
                SimpleDateFormat s=new SimpleDateFormat("yyyy-mm-dd");
                Date m1=s.parse(date1);
                Date m2=s.parse(date2);
                long time1=m1.getTime();
                long time2=m2.getTime();
                long money=(time2-time1)/(24*60*60*1000);
                System.out.println("借出日期为:"+date1);
                System.out.println("归还日期为:"+date2);
                System.out.println("需要支付的租金为"+money+"元");
            }
        }else {
            System.out.println("未找到该DVD");
        }
        getreturn();
    }

  测试:

(6)定义返回菜单

  代码:

 public void getreturn(){ //返回主菜单的方法
        System.out.println("请输入0返回菜单");
        int i=input.nextInt();
        if (i==0){
            mume();
        }else
            getreturn();
    }

 测试: 

5.总代码:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class DVD {
    int[] indexs=new int[50]; //定义数组
    String[] names=new String[50];
    String[] states=new String[50];
    String[] dates=new String[50];
    Scanner input=new Scanner(System.in);
    public void init(){ //初始化
        indexs[0]=1;//书的序号
        indexs[1]=2;
        indexs[2]=3;
        names[0]="哈利波特";//书名
        names[1]="全球通史";
        names[2]="百年孤独";
        states[0]="借出";//书的状态
        states[1]="可借";
        states[2]="可借";
        dates[0]="2000-01-01";//书的借出日期
        dates[1]="";//未借出则不填写
        dates[2]="";
    }
    public void mume(){ //菜单
        System.out.println("欢迎使用迷你DVD管理系统");
        System.out.println("*******************");
        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.println("请选择:");
        int index=input.nextInt();
        switch (index){ //选择方法
            case 1:
                methods01();
            case 2:
                methods02();
            case 3:
                methods03();
            case 4:
                methods04();
            case 5:
                try {
                    methods05();
                } catch (ParseException e) {
                    throw new RuntimeException(e);
                }
            case 6:
                System.out.println("结束此系统");
                System.exit(1);
        }
    }
    public static void main(String[] args) { //main方法
        DVD dvd=new DVD();
        dvd.init();
        dvd.mume();
    }
    private void methods01(){ //新增书籍方法
        System.out.println("请输入要新增的DVD名称:");
        String dvdname=input.next();
        int i=0;
        for (;i<names.length;i++){
            if (names[i]==null){
                indexs[i]=i+1;
                names[i]=dvdname;
                states[i]="可借";
                dates[i]="";
                System.out.println("添加《"+dvdname+"》成功");
                break;
            }
        }
        getreturn();
    }
    private void methods02(){ //查看书籍方法
        System.out.println("序号\t名字\t\t状态\t日期");
        for (int i=0;i<indexs.length;i++){
            if (names[i]==null){
                break;
            }
            System.out.println(indexs[i]+"\t"+names[i]+"\t"+states[i]+"\t"+dates[i]);
        }
        System.out.println("================");
        getreturn();
    }
    private void methods03(){ //删除书籍方法
        System.out.println("请输入要删除的DVD:");
        String dvdname=input.next();
        int i=0;
        int index=0;
        boolean flag=false;
        for (;i<indexs.length;i++){
            if (dvdname.equals(names[i])){
                index=i;
                flag=true;
                break;
            }
        }
        if (flag){
            if (states[i]=="可借"){
                System.out.println("删除DVD成功");
                int j=index;
                for (;j<indexs.length;j++){
                    names[j]=names[j+1];
                    if (names[j]==null){
                        break;
                    }
                }
            }else {
                System.out.println("该书籍已借出,不可删除");
            }
        }else {
            System.out.println("未找到该DVD");
        }
        getreturn();
    }
    private void methods04(){ //借出书籍方法
        System.out.println("请输入要借的书籍名称:");
        String dvdname=input.next();
        boolean flag=false;
        int i=0;
        for (;i<names.length;i++){
            if (dvdname.equals(names[i])){
                flag=true;
                break;
            }
        }
        if (flag){
            if (states[i]=="可借"){
                System.out.println("请输入借出日期");
                String date=input.next();
                dates[i]=date;
                states[i]="借出";
                System.out.println("成功借出DVD");
            }else {
                System.out.println("该DVD已借出,不可再次借出");
            }
        }else {
            System.out.println("未找到该DVD");
        }
        getreturn();
    }
    private void methods05() throws ParseException { //归还书籍方法
        System.out.println("请输入要归还的DVD名称");
        String  dvdname=input.next();
        boolean flag=false;
        int i=0;
        for (;i<names.length;i++){
            if (dvdname.equals(names[i])){
                flag=true;
                break;
            }
        }
        if (flag){
            if (states[i]=="可借"){
                System.out.println("不是该店DVD,无法归还");
            }else if(states[i]=="借出"){
                System.out.println("输入归还日期");
                String date1=dates[i];
                String date2=input.next();
                states[i]="可借";
                dates[i]="";
                System.out.println("归还DVD成功");
                SimpleDateFormat s=new SimpleDateFormat("yyyy-mm-dd");
                Date m1=s.parse(date1);
                Date m2=s.parse(date2);
                long time1=m1.getTime();
                long time2=m2.getTime();
                long money=(time2-time1)/(24*60*60*1000);
                System.out.println("借出日期为:"+date1);
                System.out.println("归还日期为:"+date2);
                System.out.println("需要支付的租金为"+money+"元");
            }
        }else {
            System.out.println("未找到该DVD");
        }
        getreturn();
    }
    public void getreturn(){ //返回主菜单的方法
        System.out.println("请输入0返回菜单");
        int i=input.nextInt();
        if (i==0){
            mume();
        }else
            getreturn();
    }
}

6.总结:

编写DVD管理系统时一定要有耐心,整理好思路,一步一步来,在每一个方法中要想清楚要写的东西,以及是否要用到选择语句,判断语句,循环语句。在每一个方法中变量和数组里的数据是如何变化的,一定要理清思路,理解着编写。

  • 25
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值