功能:实现DVD的查看、新增、删除、借出、归还、计费
作者:杨润康Bla
package com;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Scanner;
import bla.DVDMgr;
public class MiniDVDManager {
public class DVDSet {
String[] name=new String[500];
int[] state =new int[500];
String[] date=new String[500];
}
DVDSet dvd=new DVDSet();
public void initial(){
dvd.name[0]="敢死队3";//第一张DVD
dvd.state[0]=0;
dvd.date[0]="2014-9-5";
dvd.name[1]="秦时明月之龙腾万里";//第二张DVD
dvd.state[1]=0;
dvd.date[1]="2014-9-5";
dvd.name[2]="小时代3";//第一张DVD
dvd.state[2]=1;
dvd.date[2]="2014-9-5";
}
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("0.退出");
System.out.println("--------------------------------------");
System.out.println("请选择:");
Scanner input=new Scanner(System.in);
int choice=input.nextInt();
choice(choice);
}
public int choice(int inputyourchoice){
switch(inputyourchoice){
case 1:
System.out.println("此处实现新增DVD");
System.out.println("--------------------------------------");
add();
returnMain();
break;
case 2:
System.out.println("此处实现查看DVD");
System.out.println("--------------------------------------");
search();
returnMain();
break;
case 3:
System.out.println("此处实现删除DVD");
System.out.println("--------------------------------------");
delete();
returnMain();
break;
case 4:
System.out.println("此处实现借出DVD");
System.out.println("--------------------------------------");
lend();
returnMain();
break;
case 5:
System.out.println("此处实现归还DVD");
System.out.println("--------------------------------------");
returnDvd();
returnMain();
break;
case 0:
System.out.println("已经退出");
System.out.println("--------------------------------------");
break;
default:
}
return inputyourchoice;
}
public void returnMain(){
Scanner input =new Scanner(System.in);
System.out.println("输入0返回");
if(input.nextInt()==0){
startMenu();
}else{
System.out.println("输入错误,异常终止");
}
}
public void search(){
System.out.println("序号"+"\t状态"+"\t名称");
for(int i=0;i<</span>dvd.name.length;i++){
if(dvd.name[i]==null){
break;
}else if(dvd.state[i]==0){
System.out.println((i+1)+"\t可借出\t"+"《"+dvd.name[i]+"》\t" );
}else if(dvd.state[i]==1){
System.out.println((i+1)+"\t已借出\t"+"《"+dvd.name[i]+"》\t" );
}
}
}
public void add(){
System.out.println("请输入新增DVD名称:");
Scanner input=new Scanner(System.in);
for(int i=0;i<</span>dvd.name.length;i++){
if(dvd.name[i]==null){
//dvd.state用的是默认值
dvd.name[i]=input.next();
dvd.date[i]="2014-9-5";
System.out.println("新增"+"《" +dvd.name[i]+"》"+"成功");
break;
}
}
}
public void delete(){
System.out.println("请输入您想要删除的DVD的名称:");
Scanner input=new Scanner(System.in);
String deletename=input.next();
for(int i=0;i<</span>dvd.name.length;i++){
if(dvd.name[i]!=null&&dvd.name[i].equalsIgnoreCase(deletename)&&dvd.state[i]==1){
int j=i;
//查找到每个元素前移一位
while(dvd.name[i]!=null){
dvd.date[i]= dvd.date[i+1];
dvd.name[i]= dvd.name[i+1];
dvd.state[i]=dvd.state[i+1];
j++;
}
//最后一个不为空的元素置空
dvd.name[j]=null;
dvd.date[j]=null;
System.out.println("删除"+"《" +deletename+"》"+"成功");
break;
}else if(dvd.name[i]!=null&&dvd.name[i].equalsIgnoreCase(deletename)&&dvd.state[i]==0){
System.out.println("《" +deletename+"》"+"为借出状态,不能删除");
break;
}
}
}
public void lend(){
System.out.println("请输入要借出的DVD名称:");
Scanner input=new Scanner(System.in);
String lendname=input.next();
for(int i=0;i<</span>dvd.name.length;i++){
//
if(dvd.name[i]==null){
System.out.println("无"+lendname+"匹配消息");
break;
}else if(dvd.name[i].equalsIgnoreCase(lendname)&&dvd.state[i]==1){//已经借出
System.out.println("该"+lendname+"已经借出");
break;
}else if(dvd.name[i].equalsIgnoreCase(lendname)&&dvd.state[i]==0){
dvd.state[i]=1;
System.out.println(lendname+"借出成功");
break;
}
public void returnDvd(){
System.out.println("请输入要归还你的DVD名称:");
Scanner input=new Scanner(System.in);
String returNname=input.next();
for(int i=0;i<</span>dvd.name.length;i++){
if(dvd.name[i].equalsIgnoreCase(returNname)&&dvd.state[i]==1){
//定义一个数组将归还的DVD放到最末尾
if(dvd.name[i]!=null){
dvd.name[i]=returNname;
dvd.state[i]=0;
//输入日期以结账用
System.out.println("输入今天的日期:");
String dstr1=dvd.date[i];
String dstr2=input.next();
System.out.println("租金:"+charge(dstr1,dstr2)+"元");
System.out.println(dvd.name[i]+"归还成功");
break;
}
}else if(dvd.name[i].equalsIgnoreCase(returNname)&&dvd.state[i]==0){
System.out.println("该"+returNname+"未借出");
break;
}
}
}
public long charge(String dstr1,String dstr2){
long charge=0;
SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd");
try{
java.util.Date d1=sd.parse(dstr1);
java.util.Date d2=sd.parse(dstr2);
charge=((d2.getTime()-d1.getTime())/(24*60*60*1000));
}catch(ParseException e){
e.printStackTrace();
}
return charge;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
DVDMgr dm=new DVDMgr();
//首先初始化
dm.initial();
//进入主菜单
dm.startMenu();
}
}