java写出迷你DVD管理器

这是写出的一个小项目,希望大家能多多指教


import java.util.*;
import java.text.*;
class DVDMgr 
{
Scanner input = new Scanner(System.in);
DVDSet dvd = new DVDSet();//初始化对象
boolean isjiechu = true;//已借出是true,可借是false

//初始化三张DVD信息
public void initial() 
{
dvd.name[0] = "罗马假日";
dvd.state[0] = true;//已借出
dvd.date[0] = "2012-2-1";
dvd.name[1] = "风声鹤唳";
dvd.state[1] = false;//可借
dvd.name[2] = "浪漫满屋";
dvd.state[2] = false;//可借
}

public void startMenu()
{
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("请选择:");
        int choice = input.nextInt();
switch (choice)
{
case 1:
   add();
   break;
   case 2:
   scearch();
   break;
   case 3:
   delete();
   break;
   case 4:
   lend();
   break;
   case 5:
   returnDvd();
   break;
   case 6:
   System.out.println("感谢您的使用");
   break;
   default:
   System.out.println("您的输入有误,请重新输入");
       returnMain();
}
}

public void returnMain()
{
System.out.print("输入0返回");
if (input.nextInt() == 0)
{
startMenu();
}else{
System.out.println("输入错误,异常终止");
}
}

//新增DVD
public void add()
{
System.out.println("---新增DVD");
System.out.print("请输入DVD的名称: ");
String name = input.next();
for (int j = 0; j < dvd.name.length; j++)
{
if (dvd.name[j] == null)//判断位置是否为空
{
dvd.name[j] = name;
dvd.state[j] = false;//新增的光盘是可借的
System.out.println("新增《" + name + "》成功");
break;
}
}
System.out.println("*********************");
returnMain();
}

    //查看DVD
public void scearch()
{
System.out.println("--->查看DVD");
System.out.println("序号\t状态\t名称\t\t借出日期");
for (int i = 0; i < dvd.name.length; i++)
{
if (dvd.name[i] == null)
{
break;
}else if (dvd.state[i] == true)
{
System.out.println((i + 1) + "\t已借出\t《" +dvd.name[i] + "》\t" + dvd.date[i]);
}else if (dvd.state[i] == false)
{
System.out.println((i + 1) + "\t可借\t《" + dvd.name[i] + "》");
}
}
System.out.println("*********************");
returnMain();
}

//删除DVD
public void delete()
{
System.out.println("--->删除DVD");
        System.out.print("请输入DVD的名称: ");
        String name = input.next();
boolean flag = false;
for (int i = 0; i < dvd.name.length; i++)
{
if (dvd.name[i] != null && dvd.name[i].equalsIgnoreCase(name) && dvd.state[i] == false)
{
                                int j = i;
                                while (dvd.name[j + 1] != null)
{
                                        dvd.name[j] = dvd.name[j + 1]; // 删除元素,元素前移
                                        dvd.state[j] = dvd.state[j + 1];
                                        dvd.date[j] = dvd.date[j + 1];
                                        j++;
                                }
                                // 最后一个不为空的元素置空
                                dvd.name[j] = null;
                                dvd.date[j] = null;
                                System.out.println("删除《" + name + "》成功!");
                                flag = true; // 标识位
                                break;
                        } else if (dvd.name[i] != null && dvd.name[i].equalsIgnoreCase(name) && dvd.state[i] == true)
 {
                                System.out.println("《" + name + "》为借出状态,不能删除!");
                                flag = true;
                                break;
                 }
 if (flag == true)
 {
 System.out.println("没有找到匹配信息");
 }
  }
  System.out.println("*********************");
  returnMain();
   }

   //借出DVD
   public void lend()
   {
  System.out.println("--->借出DVD");
  System.out.print("请输入DVD的名称:  ");
  String name = input.next();
  for (int i = 0; i < dvd.name.length; i++)
  {
  if (dvd.name[i] == null)
  {
  System.out.println("没有找到匹配信息!");
  break;
  }else if (dvd.name[i].equals(name) && dvd.state[i] == false)
  {
  System.out.print("请输入借出日期(年-月-日) :  ");
  dvd.date[i] = input.next();
  System.out.print("《" + name + "》借出成功");
  dvd.state[i] = true;
  break;
  }else if (dvd.name[i].equals(name) && dvd.state[i] == true)
  {
  System.out.println("不好意思,《" + name + "》已被借出");
  break;
  }
  }
  System.out.println("*********************");
  returnMain();
   }

//归还DVD
 public void returnDvd() {
                System.out.println("--->归还DVD\n");
                System.out.print("请输入DVD名称:");
                String name = input.next();
                long loan = 0; // 租金
                for (int i = 0; i < dvd.name.length; i++) {
                        if (dvd.name[i] == null) {
                                System.out.println("没有找到匹配信息!");
                                break;
                        } else if (dvd.name[i].equals(name) && dvd.state[i] == true) {
                                System.out.print("请输入归还日期(年-月-日):");
                                String redate = input.next();
                                loan = charge(dvd.date[i], redate);
                                System.out.println("\n《" + name + "》归还成功");
                                dvd.state[i] = false;
                                System.out.println("借出日期为:" + dvd.date[i]);
                                System.out.println("归还日期为:" + redate);
                                System.out.println("应付租金(元):" + loan);
                                break;
                        } else if (dvd.name[i].equals(name) && dvd.state[i] == false) {
                                System.out.println("《" + name + "》没有被借出,无法进行归还操作!");
                                break;
                        }
                }
                System.out.println("**************************");
                returnMain();
        }

public long charge(String dstr1, String dstr2) {
                long charge = 0;
                SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); // 格式化日期
                try {
                        Date d1 = sd.parse(dstr1);
                        Date d2 = sd.parse(dstr2);
                        charge = (d2.getTime() - d1.getTime()) / (24 * 60 * 60 * 1000);
                } catch (ParseException e) {
                        e.printStackTrace();
                }
                return charge;
        }
}
class DVDSet 
{
String[] name = new String[50];//定义一个DVD数组
boolean[] state = new boolean[50];//定义DVD借出状态:true是已借出,false是可借
String[] date = new String[50];//定义借出日期
}



class Start1 
{
public static void main(String[] args) 
{
DVDMgr dm = new DVDMgr();
dm.initial();
dm.startMenu();
}
}

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值