阶段测试:迷你DVD管理器

这是一个简单的Java程序,用于管理DVD的借阅流程,包括DVD的添加、查看、借出、归还和删除等功能。程序通过循环菜单让用户进行不同操作,并计算借阅费用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚学Java没多久,自己独立写的,有很多错误,还请谅解


import  java.util.*;

//导入java.util中的所有包,作用:在这代码中,可以接收键盘输入

import  java.text.*;

//导入java.text中的包,如果不导入无法利用 SimpleDateFormat 类来实现对字符串的日期格式化,转化为 Date 类型
的对象,再求日期差,无法使用ParseException类

class Dvd 
{
public static void main(String[] args) 
{
boolean isTrue = false;

Manage q = new Manage();

//只要用户不选择退出就循环使用管理器

      for (int p = 0;isTrue != true ;p++ )
      {
           //q.manage()这是调用manage后返回的值
  switch (q.manage())
  {
  case 1:{
    q.check();
             q.back1();
continue;
  }
  case 2:{
    q.add();
             q.back1();
continue;
  }
  case 3:{
    q.omit();
             q.back1();
continue;
  }
  case 4:{
    q.loan();
             q.back1();
continue;
  }
  case 5:{
    q.back();
             q.back1();
 
continue;
  }
  default:{
     isTrue = true;
  }
  }
      }
 System.out.println("你已退出管理器,欢迎下次使用!");
}

}

//创建一个管家类

class Manage
{

Scanner scanner = new Scanner(System.in);

//分别定义一个数组用来存储DVD名称,状态,借出日期,归还日期

String[] name = new String[60];
int[] state = new int[60];
String[] olddate = new String[60];
String[] newdate = new String[60];
int h;

int a;

//创建manage方法给出选择进入对应的方法中

public int manage(){
   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.print("请选择:");
        a = scanner.nextInt();
return a;

}

//给出add方法实现新增功能

public void add(){
System.out.println("----> 新增DVD");
System.out.print("请输入DVD名称:");
String name = scanner.next();
for (int i = 0 ;i < 60 ;i++ )

{

//选择一个空的位置放入新增的内容

if (name[i] == null)
{
this.name[i] = name;
break;
}
}
        System.out.println("\n新增《" + name +"》成功!");
        System.out.println("*****************************");

}

//给check方法实现查看功能

public void check(){
   System.out.println("----> 查看DVD");
System.out.println("序号\t状态\t名称\t\t借出日期");
   for (int j = 0;j < 60 ;j++ )

   {

//不让存储为空的数据展示出来

if (name[j] != null && state[j] == 0 )
{
               String state = "可借";
  System.out.println((j + 1) + "\t" + state + "\t" + name[j]);


}else if (name[j] != null && state[j] == 1)
{
  String state = "已借出";
  System.out.println((j + 1) + "\t" + state + "\t" + name[j] + "\t\t" + olddate[j]);


}else{
System.out.println("还未上架任何DVD!");
   break;
}
   }
System.out.println("***************************************************");

}

//给loan方法实现借出功能

public void loan(){
   System.out.println("----> 借出DVD");
System.out.print("请输入DVD名称:");
        String name = scanner.next();
for (int k = 0;k < 60 ;k++ )

{

//查找是否有你要DVD,如果有则在判断是否处于借出状态

if (name.equals(this.name[k]))
{
if (state[k] == 0)
{
          System.out.print("请输入借出的日期<年-月-日>:");
                   olddate[k] = scanner.next();
  state[k] = 1;
                   System.out.println("\n借出《" + name + "》成功!");
}else{
    System.out.println("该DVD已借出!");
    continue;
}
}
}
   System.out.println("******************************");

}

//给back方法实现归还功能

public void back(){
   System.out.println("----> 归还DVD");
System.out.print("请输入DVD名称:");
String name = scanner.next();
for (int i = 0;i < 60 ;i++ )

{

//查找你要归还的DVD是否存在,并处于借出状态

if (name.equals(this.name[i]) && state[i] == 1)
{
          System.out.print("\n请输入归还日期:");
  String date = scanner.next();
  state[i] = 0;
  System.out.println("\n归还《" + name + "》成功!");
                   System.out.println("借出日期为:" + this.olddate[i]);
  this.newdate[i] = date;
  System.out.println("归还日期为:" + this.newdate[i]);
  SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");

          long charge = 0;

//计算DVD借出多少天,一天租金一块

                   try
              {
                    Date d1 = sd.parse(this.olddate[i]);
             Date d2 = sd.parse(this.newdate[i]);
       charge = (d2.getTime()-d1.getTime())/(24*60*60*1000);
                   }
              catch (ParseException e)
              {
         e.printStackTrace();
              }
      System.out.println("应付租金(元);" + charge);


}
}
   System.out.println("******************************");

}

//给omit方法实现删除功能

public void omit(){
   System.out.println("----> 删除DVD");
System.out.print("请输入DVD名称:");
String name = scanner.next();
for (int j = 0;j < 60 ;j++ )

{

//查找并判断是否处于借出状态

if (name.equals(this.name[j]))
{
if (state[j] == 0)
{
this.name[j] = null;
olddate[j] = null;
System.out.println("\n删除《" + name + "》成功!");
              
}else{
  System.out.println("\n《" + name + "》为借出状态,不能删除!");
}
}
}
   System.out.println("******************************");

}

//给back1方法,让其输入0则返回,输入其他则循环输入

public void back1(){
  do
  {
  System.out.println("输入0返回:");
  h = scanner.nextInt();
  }
  while (h != 0);
}


}
package 第三章; import java.util.Scanner; public class DVD管理器 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int end=0; //名称,状态,借出日期,借出次数, String name[] =new String[50]; name[0]="三国演义"; name[1]="盗墓笔记"; name[2]="傻子上学"; boolean state[] = new boolean[50]; state[0]=true; state[1]=false; state[2]=true; int date [] = new int[50]; date[0]=0; date[1]=5; date[2]=0; int count[] = new int[50]; count[0]=12; count[1]=0; count[2]=1; String zeng; int dates; do{ 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.退出DVD"); System.out.println("-------------------------"); System.out.print("请选择:"); int index=-1; switch(input.nextInt()){ case 1: System.out.println("-->新增DVD"); System.out.print("请输入书名:"); for(int i=0;i<name.length-1;i++){ if(name[i]==null){ index=i; break; } } if(index!=-1){ name[index]=input.next(); state[index]=true; count[index]=0; date[index]=0; System.out.println("新增《"+name[index]+"》成功"); } System.out.println("**************************"); System.out.println("输入0返回"); break; case 2: System.out.println("-->查看DVD"); System.out.println("序号"+"\t"+"状态"+"\t"+" "+"名称"+"\t"+" "+"借出日期"+"\t"+" "+"借出次数"); for(int i=0;i<name.length-1;i++){ if(name[i]==null)break; System.out.print(+(i+1)+"\t"); System.out.print(state[i]==true?"可借阅"+" ":"已借阅"+" "); System.out.print("《"+name[i]+"》"+"\t"); System.out.print(" "+date[i]+"日"+"\t"); System.out.print(count[i]+"次"+"\t"+"\n"); } System.out.println("**************************"); System.out.println("输入0返回"); break; case 3: System.out.println("-->删除DVD"); System.out.print("请输入书名:"); zeng=input.next(); for(int i=0;i<name.length-1;i++){ if(name[i]==null){ System.out.println("这本本书不是我们的,无法删除"); break; } else if(name[i].equals(zeng) && state[i]==false){ System.out.println("找到您要找的书了,但是已借阅无法删除"); break; } else if(name[i].equals(zeng) && state[i]==true){ index=i; System.out.println("删除《"+zeng+"》成功"); break; } } if(index!=-1){ for(int i=index;i<name.length-1;i++){ name[i]=name[i+1]; } name[name.length-1]=null; } else System.out.println("没有您要找的书"); System.out.println("**************************"); System.out.println("输入0返回"); break; case 4: System.out.println("-->借出DVD"); System.out.print("请输入书名:"); zeng=input.next(); for(int i=0;i<name.length-1;i++){ if(name[i]==null){ System.out.println("没有找到您要找的书无法借出"); break; }else if(name[i].equals(zeng) && state[i]==false){ System.out.println("找到您要找的书了,但是库存只有一本已借阅"); break; }else if(name[i].equals(zeng) && state[i]==true){ System.out.print("借出日期:"); dates=input.nextInt(); while(dates<1 || dates>31){ if(dates<1 ||dates>31) System.out.println("请重新输入一月为1~31"); dates=input.nextInt(); } System.out.println("借阅《"+zeng+"》成功"); state[i]=false; date[i]=dates; count[i]++; break; } } System.out.println("**************************"); System.out.println("输入0返回"); break; case 5: System.out.println("-->归还DVD"); System.out.print("请输入书名:"); zeng=input.next(); int jing=0; for(int i=0;i<name.length-1;i++){ if(name[i]==null){ System.out.println("这不是我们的书无需归还"); break; }else if(name[i].equals(zeng) && state[i]==true){ System.out.println("找到您要找的书了,但是未借阅不需要归还"); break; }else if(name[i].equals(zeng) && state[i]==false){ System.out.print("归还日期:"); dates=input.nextInt(); while(dates<1 || dates>31 || dates<date[i]){ if(dates<1 ||dates>31){ System.out.println("输入格式有问题请重新输入一月为1~31"); dates=input.nextInt(); } else if(dates<date[i]){ System.out.println("归还日期必须大于借出日期"); dates=input.nextInt(); } } state[i]=true; jing=(dates-date[i])*1; System.out.println("借阅时间为:"+date[i]); System.out.println("归还时间为:"+dates); System.out.println("借阅租金为:"+jing); System.out.println("归还《"+zeng+"》成功"); date[i]=0; break; } } System.out.println("**************************"); System.out.println("输入0返回"); break; case 6: System.out.println("谢谢使用"); return; } end =input.nextInt(); }while(end==0); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值