阶段测试:迷你DVD管理器

来源:互联网 发布:淘宝750海报显示 编辑:程序博客网 时间:2024/04/29 09:03

刚学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);
}


}
0 0