import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Scanner;
import java.util.Date;
public class DVDMgr {
DVDSet a=new DVDSet();
Scanner input=new Scanner(System.in);
public void initial(){
a.name[0]="罗马假日";
a.state[0]=0;
a.count[0]=1;
a.date[0]="2013-7-1";
a.name[1]="风声鹤唳";
a.state[1]=1;
a.name[2]="浪漫满屋";
a.state[2]=2;
}
public void startMenu (){
System.out.println("欢迎使用迷你DVD管理器");
System.out.println("-----------------");
System.out.println("0.借出排行");
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("7.退 出");
System.out.println("------------------");
System.out.println("请选择:");
int choice=input.nextInt();
switch(choice){
case 1:
System.out.println("此处实现新增DVD");
add();
System.out.println("*********************");
returnMain();
break;
case 2:
System.out.println("此处实现查看DVD");
search();
System.out.println("*********************");
returnMain();
break;
case 3:
System.out.println("此处实现删除DVD");
delete();
System.out.println("**********************");
returnMain();
break;
case 4:
System.out.println("此处实现借出DVD");
lend();
System.out.println("**********************");
returnMain();
break;
case 5:
System.out.println("此处实现归还DVD");
returnDVD();
System.out.println("**********************");
returnMain();
break;
case 6:
System.out.println("此处实现借出排行");
list();
System.out.println("**************************");
returnMain();
break;
case 7:
System.out.println("谢谢使用!");
System.out.println("*************************");
}
}
public void returnMain(){
Scanner input=new Scanner(System.in);
System.out.println("输入0返回:");
if(input.nextInt()==0){
startMenu();
}else{
System.out.println("输入错误,异常终止!");
}
}
public void add(){
System.out.println("新增DVD");
System.out.println("请输入DVD的名字:");
String name=input.next();
for(int i=0;i<a.name.length;i++){
if(a.name[i]==null){
a.name[i]=name;
a.state[i]=1;
System.out.println("新增"+name+"成功!");
break;
}
}
System.out.println("**************************");
returnMain();
}
public void search(){
System.out.println("查看DVD");
System.out.println("序号\t状态\t名称\t借出日期:");
for(int i=0;i<a.name.length+1;i++){
if(a.name[i]==null){
break;
}else{
if(a.state[i]==0){
System.out.println((i+1)+"\t 已经借出\t"+a.name[i]+"\t"+a.date[i]);
}else{
System.out.println((i+1)+"\t可借\t"+a.name[i]+"\t"+a.date[i]);
}
}
}
System.out.println("************************");
returnMain();
}
public void delete(){
boolean con=false;
System.out.println("删除DVD");
System.out.println("请输入DVD名字:");
String name=input.next();
for(int i=0;i<a.name.length;i++){
if(a.name!=null&&a.name[i].equals(name)&&a.state[i]==1){
int j=i;
while(a.name[j+1]!=null){
a.name[j]=a.name[j+1];
a.state[j]=a.state[j+1];
a.date[j]=a.date[j+1];
j++;
}
a.name[j]=null;
a.date[j]=null;
System.out.println("删除《"+name+"》成功!");
con=true;
}if(a.name[i]!=null&&a.name[i].equals(name)&&a.state[i]==0){
System.out.println("《"+name+"》"+"已经借出,不可以删除!");
con=false;
break;
}if(con=false){
System.out.println("没有该DVD的信息!");
break;
}
}
}
public void lend(){
System.out.println("借出DVD");
System.out.println("请输入要借出DVD的名字:");
String want=input.next();
for(int i=0;i<a.name.length;i++){
if(a.name[i].equals(want)&&a.state[i]==1){
a.state[i]=0;
System.out.println("请输入借出日期(格式为:年-月-日):");
a.date[i]=input.next();
System.out.println("借出成功!");
a.count[i]++;
break;
}if(a.name.equals(want)&&a.state[i]==0){
System.out.println("该DVD已经被借出.");
break;
}
}
System.out.println("*********************");
returnMain();
}
public void returnDVD(){
long yongjin=0;
System.out.println("请输入DVD的名字:");
String name=input.next();
for(int i=0;i<a.name.length;i++){
if(a.name[i].equals(name)&&a.state[i]==0){
a.state[i]=1;
System.out.println("请输入归还日期(格式为:年-月-日):");
String redate=input.next();
yongjin=charge(a.date[i],redate);
System.out.println("归还成功!");
System.out.println("借出日期"+a.date);
System.out.println("归还日期"+redate);
System.out.println("应付租金:"+yongjin+"元");
a.count[i]++;
break;
}if(a.name[i].equals(name)&&a.state[i]==1){
System.out.println("该DVD未被借出,无法继续操作!");
break;
}else{
System.out.println("未找到该DVD的信息!");
}
}
System.out.println("******************************");
returnMain();
}
public long charge(String date1,String date2){
long charge=0;
SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd");
try{
Date d1=sd.parse(date1);
Date d2=sd.parse(date2);
charge=(d2.getTime()-d1.getTime())/(24*60*60*1000);
}catch(ParseException e){
e.printStackTrace();
}
return charge;
}
public void list(){
String[]newname=new String[50];
int[]newcount=new int[50];
for(int i=0;i<a.name.length;i++){
newname[i]=a.name[i];
newcount[i]=a.count[i];
}
for(int i=0;i<newname.length-1;i++){
for(int j=0;j<newname.length-1-i;j++){
if(newcount[i]>newcount[j]){
int temp=newcount[i];
newcount[i]=newcount[j];
newcount[j]=temp;
String tempname=newname[i];
newname[i]=newname[j];
newname[j]=tempname;
}
}
}
System.out.println("排行榜:");
System.out.println("*************************");
System.out.println("次数\t名称");
for(int i=0;i<newname.length;i++){
if(newname[i]!=null){
System.out.println(newcount[i]+"\t《"+newname[i]+"》");
}
}
System.out.println("**********************");
returnMain();
}
}
public class DVDSet {
String[] name=new String[50];
int[]state=new int[50];
String[]date=new String[50];
int count[]=new int[100];
}
public class Test {
public static void main(String[] args) {
DVDMgr dvd=new DVDMgr();
dvd.initial();
dvd.startMenu();
}
}