迷你DVD系统JAVA语言开发源代码适合初学者.docx
《迷你DVD系统JAVA语言开发源代码适合初学者.docx》由会员分享,可在线阅读,更多相关《迷你DVD系统JAVA语言开发源代码适合初学者.docx(10页珍藏版)》请在冰豆网上搜索。
迷你DVD系统JAVA语言开发源代码适合初学者
packagecom.jb.minidvd;
publicclassDVDSet{
String[]name=newString[50];//数组1存储DVD名称数组
int[]state=newint[50];//数组2存储DVD借出状态:
0已借出/1可借
String[]date=newString[50];//数组3存储DVD借出日期
int[]count=newint[50];//借出次数
}
importjava.text.ParseException;
importjava.text.SimpleDateFormat;
importjava.util.*;
publicclassDVDMgr{
/**
*创建DVD对象
*/
DVDSetdvd=newDVDSet();
/**
*初始三个DVD
*/
publicvoidinitial(){
dvd.name[0]="罗马假日";
dvd.state[0]=0;
dvd.date[0]="2010-7-1";
dvd.count[0]=15;
dvd.name[1]="风声鹤唳";
dvd.state[1]=1;
dvd.count[1]=12;
dvd.name[2]="浪漫满屋";
dvd.state[2]=1;
dvd.count[2]=30;
}
/**
*开始菜单
*/
publicvoidstartMenu(){
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.print("--------------------------------------\n");
System.out.print("请选择:
");
Scannerinput=newScanner(System.in);
intchoice=input.nextInt();
switch(choice){
case0:
list();
break;
case1:
add();
break;
case2:
search();
break;
case3:
delete();
break;
case4:
lend();
break;
case5:
returnDvd();
break;
case6:
System.out.println("\n谢谢使用!
");
break;
}
}
/**
*返回主菜单
*/
publicvoidreturnMain(){
Scannerinput=newScanner(System.in);
System.out.print("输入0返回:
");
if(input.nextInt()==0){
startMenu();
}else{
System.out.println("输入错误,异常终止!
");
}
}
/**
*查看DVD
*/
publicvoidsearch(){
System.out.println("--->查看DVD\n");
System.out.println("序号\t状态\t名称\t\t借出日期");
for(inti=0;iif(dvd.name[i]==null){
break;
}elseif(dvd.state[i]==0){
System.out.println((i+1)+"\t已借出\t"+"<<"+dvd.name[i]+">>\t"+dvd.date[i]);
}elseif(dvd.state[i]==1){
System.out.println((i+1)+"\t可借\t"+"<<"+dvd.name[i]+">>");
}
}
System.out.println("**************************");
returnMain();
}
/**
*新增DVD
*/
publicvoidadd(){
Scannerinput=newScanner(System.in);
System.out.println("--->新增DVD\n");
System.out.print("请输入DVD名称:
");
Stringname=input.next();
for(inti=0;iif(dvd.name[i]==null){//查询最后一个空位置插入
dvd.name[i]=name;
dvd.state[i]=1;//置新增的DVD可借状态
System.out.println("新增《"+name+"》成功!
");
break;
}
}
System.out.println("**************************");
returnMain();
}
/**
*删除DVD
*/
publicvoiddelete(){
Scannerinput=newScanner(System.in);
booleanflag=false;//标识删除成功与否
System.out.println("--->删除DVD\n");
System.out.print("请输入DVD名称:
");
Stringname=input.next();
//遍历数组,查找匹配信息
for(inti=0;i//查找到,每个元素前移一位
if(dvd.name[i]!
=null&&dvd.name[i].equalsIgnoreCase(name)&&dvd.state[i]==1){
intj=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;
}elseif(dvd.name[i]!
=null&&dvd.name[i].equalsIgnoreCase(name)&&dvd.state[i]==0){
System.out.println("《"+name+"》为借出状态,不能删除!
");
flag=true;//置位
break;
}
}
if(!
flag){
System.out.println("没有找到匹配信息!
");
}
System.out.println("**************************");
returnMain();
}
/**
*借出DVD
*/
publicvoidlend(){
System.out.println("--->借出DVD\n");
Scannerinput=newScanner(System.in);
System.out.print("请输入DVD名称:
");
Stringwant=input.next();//要借出的DVD名称
for(inti=0;iif(dvd.name[i]==null){//无匹配
System.out.println("没有找到匹配信息!
");
break;
}elseif(dvd.name[i].equals(want)&&dvd.state[i]==1){//找到匹配可借
dvd.state[i]=0;
System.out.print("请输入借出日期(年-月-日):
");
dvd.date[i]=input.next();
System.out.println("借出《"+want+"》成功!
");
dvd.count[i]++;
break;
}elseif(dvd.name[i].equals(want)&&dvd.state[i]==0){//找到匹配已被借出
System.out.println("《"+want+"》已被借出!
");
break;
}
}
System.out.println("**************************");
returnMain();
}
/**
*归还DVD并计算租金
*/
publicvoidreturnDvd(){
System.out.println("--->归还DVD\n");
Scannerinput=newScanner(System.in);
longloan=0;//租金
System.out.print("请输入DVD名称:
");
Stringwant=input.next();
for(inti=0;iif(dvd.name[i]==null){//无匹配
System.out.println("没有找到匹配信息!
");
break;
}elseif(dvd.name[i].equals(want)&&dvd.state[i]==0){//找到匹配
dvd.state[i]=1;
System.out.print("请输入归还日期(年-月-日):
");
Stringredate=input.next();
//计算租金
loan=charge(dvd.date[i],redate);
System.out.println("\n归还《"+want+"》成功!
");
System.out.println("借出日期为:
"+dvd.date[i]);
System.out.println("归还日期为:
"+redate);
System.out.println("应付租金(元):
"+loan);
break;
}elseif(dvd.name[i].equals(want)&&dvd.state[i]==1){//找到匹配但没有借出
System.out.println("该DVD没有被借出!
无法进行归还操作。
");
break;
}
}
System.out.println("**************************");
returnMain();
}
/**
*计算日期差
*@paramdstr1第一个日期
*@paramdstr2第二个日期
*
*/
publiclongcharge(Stringdstr1,Stringdstr2){
longcharge=0;
SimpleDateFormatsd=newSimpleDateFormat("yyyy-MM-dd");
try{
Dated1=sd.parse(dstr1);
Dated2=sd.parse(dstr2);
charge=(d2.getTime()-d1.getTime())/(24*60*60*1000);
}catch(ParseExceptione){
e.printStackTrace();
}
returncharge;
}
/**
*借出排行榜
*/
publicvoidlist(){
//定义新数组,用来存放排序后DVD信息
String[]newname=newString[50];//
int[]newcount=newint[50];
for(intk=0;knewname[k]=dvd.name[k];
newcount[k]=dvd.count[k];
}
//利用冒泡排序算法进行排序
for(inti=0;ifor(intj=i+1;jif(newcount[i]>newcount[j]){
inttempc=newcount[i];
newcount[i]=newcount[j];
newcount[j]=tempc;
Stringtempn=newname[i];
newname[i]=newname[j];
newname[j]=tempn;
}
}
}
System.out.println("--->排行榜\n");
System.out.println("**************************");
System.out.println("次数\t名称");
//显示排行榜信息
for(inti=newname.length-1;i>=0;i--){
if(newname[i]!
=null){
System.out.println(newcount[i]+"\t<<"+newname[i]+">>");
}
}
System.out.println("**************************");
returnMain();
}
}
publicclassStart{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
DVDMgrdm=newDVDMgr();
dm.initial();
dm.startMenu();
}
}