项目Java版本迷你DVD文档格式.docx

上传人:b****5 文档编号:16308155 上传时间:2022-11-22 格式:DOCX 页数:15 大小:19.11KB
下载 相关 举报
项目Java版本迷你DVD文档格式.docx_第1页
第1页 / 共15页
项目Java版本迷你DVD文档格式.docx_第2页
第2页 / 共15页
项目Java版本迷你DVD文档格式.docx_第3页
第3页 / 共15页
项目Java版本迷你DVD文档格式.docx_第4页
第4页 / 共15页
项目Java版本迷你DVD文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

项目Java版本迷你DVD文档格式.docx

《项目Java版本迷你DVD文档格式.docx》由会员分享,可在线阅读,更多相关《项目Java版本迷你DVD文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

项目Java版本迷你DVD文档格式.docx

intchoice=input.nextInt();

switch(choice){//switch()语句,用来选择要执行的方法调用。

case0:

/*list();

list1();

*/

list2();

tag=false;

break;

case1:

add();

case2:

search();

case3:

delete();

case4:

lend();

case5:

relend();

case6:

System.out.println("

谢谢使用迷你DVD!

default:

输入有误,请重新输入...."

//输入错误,则直接给标志符号tag=true。

tag=true;

}

}while(tag);

//,则while(tag)为真,重新开始菜单选择!

}

publicvoidreMenu(){//定义一个返回到菜单的方法,每次执行完方法后就调用reMenu(),回到startMenu()方法,重新选择需要的选项!

booleanflag=false;

//定义一个标志符号flag,用来判断do----while()的循环!

输入0返回:

if(input.nextInt()==0){

startMenu();

}else{

您的输入有误,请重新输入..."

flag=true;

}while(flag);

/*定义一个初始化方法,用来给部分的数组赋值!

具体赋值什么,只要满足项目要求和数据类型,随便赋值!

publicvoidinitial(){

ds.name[0]="

罗马假日"

;

ds.date[0]="

2013-7-31"

ds.state[0]=0;

ds.count[0]=30;

ds.name[1]="

风声鹤唳"

ds.state[1]=1;

ds.count[1]=13;

ds.name[2]="

满屋浪漫"

ds.state[2]=1;

ds.count[2]=69;

ds.name[3]="

一个人的武林"

ds.state[3]=1;

ds.count[3]=22;

ds.name[4]="

江上美人"

ds.date[4]="

2014-7-31"

ds.state[4]=0;

ds.count[4]=82;

/*定义一个归还DVD方法*/

publicvoidrelend(){

---->

归还DVD"

请输入需要归还的DVD名称:

StringName=input.next();

for(inti=0;

i<

ds.name.length;

i++){//定义的for循环,用来先查找“需要归还的DVD名称”,看看是否存在于name数组,这里的循环数组变量,可以用count或者state等均可!

if(ds.name[i].equals(Name)&

&

ds.state[i]==0){//根据“需要归还的DVD名称”和“需要归还的DVD归还的状态”,如果匹配到“需要归还的DVD名称”和是借出的状态!

ds.state[i]=1;

//归还之后,借书状态必须要设置为:

未借出状态,用于可以借出!

请输入归还日期:

yyyy-mm-dd"

//输入的日期格式必须统一为:

yyyy-mm-dd

Stringdate=input.next();

归还<

<

+ds.name[i]+"

>

成功!

//调用DVDSet类里面的属性,找到并调用name[i]这个属性值!

借出日期为:

+ds.date[i]);

//调用DVDSet类里面的属性,找到并调用date[i]这个属性值!

归还日期为:

+date);

doubleMoney=charge(ds.date[i],date);

//接收并且调用chargr这个方法,此方法主要用来计算租金!

应付租金为:

+Money);

}elseif(ds.name[i].equals(Name)&

ds.state[i]==0){//根据“需要归还的DVD名称”和“需要归还的DVD归还的状态”,如果匹配到“需要归还的DVD名称”和而借出的状态为已经借出状态则执行!

您的动作慢了半拍,此<

+ds.name+"

已经被借出了!

}elseif(ds.name[i]==null){//判断根据“需要归还的DVD名称”是否在数组name中存在,如果不存在,直接跳出这个for循环,执行下面的语句!

System.out.println("

没有您可以借的DVD!

break;

}

reMenu();

//调用到返回菜单的方法中,继续调用主菜单!

********************************************"

publicdoublecharge(Stringdate1,Stringdate2){//定义一个计算租金的方法

doubleTotalMoney=0;

//定义总租金的接收变量!

SimpleDateFormatsd=newSimpleDateFormat("

//一个以与语言环境有关的方式来格式化和解析日期的具体类,使得可以选择任何用户定义的日期-时间格式的模式!

Dated1=null;

//定义一个Date的应用变量!

并且付初始值!

try{

d1=sd.parse(date1);

//调用SimpleDateFormat中的parse()方法,用来格式化日期数据

}catch(ParseExceptione){

e.printStackTrace();

//如果系统检测到异常,则系统匹配会ParseException,并且打印出异常信息!

Dated2=null;

d2=sd.parse(date2);

TotalMoney=(d2.getTime()-d1.getTime())/(24*60*60*1000);

//计算

returnTotalMoney;

//把计算到的总租金返回到调用它的位置!

/*定义一个借出方法*/

publicvoidlend(){

借出DVD"

请输入需要借出的DVD名称:

if(ds.name[i]==null){

ds.state[i]==1){//根据匹配到的“需要归还的DVD名称”和“需要归还的DVD归还的状态”,如果匹配到“需要归还的DVD名称”和是未有借出的状态!

执行相应的代码语句

ds.state[i]=0;

请输入借出日期:

ds.date[i]=input.next();

借<

ds.count[i]++;

//主要用于后面排序方法的比较,看哪本DVD借出的次数最多!

ds.state[i]==0){//根据匹配到的“需要归还的DVD名称”和“需要归还的DVD归还的状态”,如果匹配到“需要归还的DVD名称”和是借出的状态!

/*定义删除方法*/

publicvoiddelete(){

//一个标识符,用于方法内部条件判断的依据

删除DVD"

请输入需要删除的DVD名称:

if(ds.name[i]!

=null&

ds.state[i]==1&

ds.name[i].equals(Name)){//如果匹配到ds.name[i]!

=null,根据匹配到的“需要归还的DVD名称”和“需要归还的DVD归还的状态”,如果匹配到“需要归还的DVD名称”和是未有借出的状态!

intj=i;

//定义一个int的变量,用于下面数组下标的操作!

while(ds.name[j+1]!

=null){//如果name[j+1]不为空null,说明name[j]后面还有数组元素,则执行while语句,这个语句作用就是把下标大于name[j]的数组元素前移,因为name[j]已经删除掉了!

ds.name[j]=ds.name[j+1];

//数组元素前移的操作

ds.state[j]=ds.state[j+1];

ds.date[j]=ds.date[j+1];

j++;

//下标值增加,用于后移判断

}

ds.name[j]=null;

//不管是否执行while语句,j最终都是最后的一个数组的下标!

ds.date[j]=null;

删除<

flag=true;

}elseif(ds.name[i]!

ds.state[i]==0&

=null,根据匹配到的“需要归还的DVD名称”和“需要归还的DVD归还的状态”,如果匹配到“需要归还的DVD名称”和是借出的状态!

System.out.println("

+"

为借出状态,无法删除!

flag=true;

break;

if(!

flag){//判断,如果为真说明没有查询到要删除的DVD,这里可以不需要flag进行判断,直接在前面的ifelse语句中,添加一条if(ds.name[i]==null)就t、跳出for循环,我没有验证,只是根绝理论推敲。

Sorry,没有匹配到您要删除的DVD名称!

/*查询方法*/

publicvoidsearch(){

查看DVD"

序号\t\t状态\t\t名称\t\t借出日期"

i++){//定义的for循环,这里的循环数组变量,可以用count或者state等均可!

if(ds.name[i]==null){

}elseif(ds.state[i]==0){//如果匹配到ds.state[i]=0,说明需要归还的DVD归还的状态为借出状态,执行相应的代码语句。

System.out.println((i+1)+"

\t\t"

已经借出"

\t\t<

\t"

}elseif(ds.state[i]==1){//如果匹配到ds.state[i]=1,说明需要归还的DVD归还的状态为未借出状态,执行相应的代码语句。

可以借出"

/*添加方法*/

publicvoidadd(){

System.out.println("

新增DVD"

System.out.print("

请输入需要增加的DVD名称:

StringName=input.next();

for(inti=0;

if(ds.name[i]==null){//判断name[i]是否为空?

如果为NULL,则执行if语句的代码,对name[i]进行赋值操作

ds.name[i]=Name;

新增《"

+Name+"

》成功!

reMenu();

publicvoidlist(){

String[]Name=newString[100];

//定义一个新的Name数组,作用:

把之前name数组里面的元素全部复制一份到Name数组中,用于后面的排榜操作!

int[]Count=newint[100];

//定义一个新的Count数组,作用:

把之前count数组里面的元素全部复制一份到Count数组中,用于后面的排榜操作!

i++){//定义的for循环,这里的循环数组变量,可以用count均可!

Name[i]=ds.name[i];

//赋值操作,把name[i]里面的元素赋值给Name[i];

Count[i]=ds.count[i];

//赋值操作,把count[i]里面的元素赋值给Count[i];

Count.length-1;

i++){//这里根据借出次数来进行排序,排序的方法为:

冒泡排序算法。

for(intj=0;

j<

Count.length-i-1;

j++){

if(Count[j]>

Count[j+1]){

intSwap(Count,j,j+1);

//调用定义好的交换方法

stringSwap(Name,j,j+1);

//调用定义好的交换方法

借出DVD次数排行版"

排名\t\t名称\t借出次数"

intz=1;

//用来显示排名数

for(inti=ds.name.length-1;

i>

0;

i--){

if(Name[i]!

=null){//如果Name[i]!

=null,则执行相应的操作

第"

+z+"

名"

+Name[i]+"

+Count[i]);

z++;

/*DVD借出排行榜*/

publicvoidlist1(){

i++){//定义的for循环,这里的循环数组变量,可以用Count均可!

选择排序算法。

for(intj=i+1;

Count.length;

if(Count[i]>

Count[j]){

intSwap(Count,i,j);

stringSwap(Name,i,j);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1