ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:19.11KB ,
资源ID:3402665      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3402665.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(项目Java版本迷你DVD.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

项目Java版本迷你DVD.docx

1、项目Java版本迷你DVDimport java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Scanner;public class DVDMgr Scanner input=new Scanner(System.in);/扫描器,作用:主要是从键盘输入数据 DVDSet ds=new DVDSet(); /创建一个对象,实例化DVDSet的一个变量ds.用于在本类调用! public void startMenu()/定义一个菜单方法,用于程序运行的

2、时候显示、选择作用 boolean tag=false;/定义一个标志符号,用于do-while的循环判断 do System.out.println(tt欢迎使用迷您DVD管理器); System.out.println(-); System.out.println(tt0.排 序 DVD); System.out.println(tt1.新 增 DVD); System.out.println(tt2.查 看 DVD); System.out.println(tt3.删 除 DVD); System.out.println(tt4.借 出 DVD); System.out.println(

3、tt5.归 还 DVD); System.out.println(tt6.退 出 DVD); System.out.println(-); System.out.print(请选择:); int choice=input.nextInt(); switch (choice) /switch()语句,用来选择要执行的方法调用。 case 0: /*list(); list1();*/ list2(); tag=false; break; case 1: add(); tag=false; break; case 2: search(); tag=false; break; case 3: del

4、ete(); tag=false; break; case 4: lend(); tag=false; break; case 5: relend(); tag=false; break; case 6: System.out.println(谢谢使用迷你DVD!); tag=false; break; default: System.out.println(输入有误,请重新输入.);/输入错误,则直接给标志符号tag=true。 tag=true; while(tag);/,则while(tag)为真,重新开始菜单选择! public void reMenu()/定义一个返回到菜单的方法,每

5、次执行完方法后就调用reMenu(),回到startMenu()方法,重新选择需要的选项! boolean flag=false;/定义一个标志符号flag,用来判断do-while()的循环! System.out.print(输入0返回:); do if(input.nextInt()=0) startMenu(); else System.out.println(您的输入有误,请重新输入.); flag=true; while(flag); /*定义一个初始化方法,用来给部分的数组赋值!具体赋值什么,只要满足项目要求和数据类型,随便赋值!*/ public void initial()

6、ds.name0=罗马假日; ds.date0=2013-7-31; ds.state0=0; ds.count0=30; ds.name1=风声鹤唳; ds.state1=1; ds.count1=13; ds.name2=满屋浪漫; ds.state2=1; ds.count2=69; ds.name3=一个人的武林; ds.state3=1; ds.count3=22; ds.name4=江上美人; ds.date4=2014-7-31; ds.state4=0; ds.count4=82; /*定义一个归还DVD方法*/ public void relend() System.out.

7、println(- 归还DVD); System.out.print(请输入需要归还的DVD名称:); String Name=input.next(); for (int i = 0; i ds.name.length; i+) /定义的for循环,用来先查找“需要归还的DVD名称”,看看是否存在于name数组,这里的循环数组变量,可以用count或者state等均可! if(ds.namei.equals(Name)&ds.statei=0)/根据“需要归还的DVD名称”和“需要归还的DVD归还的状态”,如果匹配到“需要归还的DVD名称”和是借出的状态! ds.statei=1;/归还之后

8、,借书状态必须要设置为:未借出状态,用于可以借出! System.out.println(请输入归还日期:yyyy-mm-dd); /输入的日期格式必须统一为:yyyy-mm-dd String date=input.next(); System.out.println(归还成功!);/调用DVDSet类里面的属性,找到并调用namei这个属性值! System.out.println(借出日期为:+ds.datei);/调用DVDSet类里面的属性,找到并调用datei这个属性值! System.out.println(归还日期为:+date); double Money=charge(ds

9、.datei,date);/接收并且调用chargr这个方法,此方法主要用来计算租金! System.out.println(应付租金为:+Money); break; else if(ds.namei.equals(Name)&ds.statei=0)/根据“需要归还的DVD名称”和“需要归还的DVD归还的状态”,如果匹配到“需要归还的DVD名称”和而借出的状态为已经借出状态则执行! System.out.println(您的动作慢了半拍,此已经被借出了!); else if(ds.namei=null) /判断根据“需要归还的DVD名称”是否在数组name中存在,如果不存在,直接跳出这个f

10、or循环,执行下面的语句! System.out.println(没有您可以借的DVD!); break; reMenu();/调用到返回菜单的方法中,继续调用主菜单! System.out.println(*); public double charge(String date1, String date2) /定义一个计算租金的方法 double TotalMoney=0;/定义总租金的接收变量! SimpleDateFormat sd=new SimpleDateFormat(yyyy-mm-dd);/一个以与语言环境有关的方式来格式化和解析日期的具体类,使得可以选择任何用户定义的日期-

11、时间格式的模式! Date d1 = null; /定义一个Date的应用变量!并且付初始值! try d1 = sd.parse(date1);/调用SimpleDateFormat中的parse()方法,用来格式化日期数据 catch (ParseException e) e.printStackTrace();/如果系统检测到异常,则系统匹配会ParseException,并且打印出异常信息! Date d2 = null; /定义一个Date的应用变量!并且付初始值! try d2 = sd.parse(date2);/调用SimpleDateFormat中的parse()方法,用来格

12、式化日期数据 catch (ParseException e) e.printStackTrace();/如果系统检测到异常,则系统匹配会ParseException,并且打印出异常信息! TotalMoney=(d2.getTime()-d1.getTime()/(24*60*60*1000);/计算 return TotalMoney;/把计算到的总租金返回到调用它的位置! /*定义一个借出方法*/ public void lend() System.out.println(- 借出DVD); System.out.print(请输入需要借出的DVD名称:); String Name=in

13、put.next(); for (int i = 0; i ds.name.length; i+) /定义的for循环,用来先查找“需要归还的DVD名称”,看看是否存在于name数组,这里的循环数组变量,可以用count或者state等均可! if(ds.namei=null) System.out.println(没有您可以借的DVD!); break; else if(ds.namei.equals(Name)&ds.statei=1)/根据匹配到的“需要归还的DVD名称”和“需要归还的DVD归还的状态”,如果匹配到“需要归还的DVD名称”和是未有借出的状态!执行相应的代码语句 ds.st

14、atei=0; System.out.println(请输入借出日期:yyyy-mm-dd); ds.datei=input.next(); System.out.println(借成功!); ds.counti+;/主要用于后面排序方法的比较,看哪本DVD借出的次数最多! break; else if(ds.namei.equals(Name)&ds.statei=0)/根据匹配到的“需要归还的DVD名称”和“需要归还的DVD归还的状态”,如果匹配到“需要归还的DVD名称”和是借出的状态!执行相应的代码语句 System.out.println(您的动作慢了半拍,此已经被借出了!); bre

15、ak; reMenu();/调用到返回菜单的方法中,继续调用主菜单! System.out.println(*); /*定义删除方法*/ public void delete() boolean flag=false; /一个标识符,用于方法内部条件判断的依据 System.out.println(- 删除DVD); System.out.print(请输入需要删除的DVD名称:); String Name=input.next(); for (int i = 0; i ds.name.length; i+) /定义的for循环,用来先查找“需要归还的DVD名称”,看看是否存在于name数组,

16、这里的循环数组变量,可以用count或者state等均可! if(ds.namei!=null&ds.statei=1&ds.namei.equals(Name)/如果匹配到ds.namei!=null,根据匹配到的“需要归还的DVD名称”和“需要归还的DVD归还的状态”,如果匹配到“需要归还的DVD名称”和是未有借出的状态!执行相应的代码语句 int j=i; /定义一个int的变量,用于下面数组下标的操作! while(ds.namej+1!=null)/如果namej+1不为空null,说明namej后面还有数组元素,则执行while语句,这个语句作用就是把下标大于namej的数组元素前

17、移,因为namej已经删除掉了! ds.namej=ds.namej+1;/数组元素前移的操作 ds.statej=ds.statej+1;/数组元素前移的操作 ds.datej=ds.datej+1;/数组元素前移的操作 j+;/下标值增加,用于后移判断 ds.namej=null;/不管是否执行while语句,j最终都是最后的一个数组的下标! ds.datej=null;/不管是否执行while语句,j最终都是最后的一个数组的下标! System.out.println(删除成功!); flag=true; break; else if(ds.namei!=null&ds.statei=0

18、&ds.namei.equals(Name)/如果匹配到ds.namei!=null,根据匹配到的“需要归还的DVD名称”和“需要归还的DVD归还的状态”,如果匹配到“需要归还的DVD名称”和是借出的状态!执行相应的代码语句 System.out.println(+为借出状态,无法删除!); flag=true; break; if(!flag)/判断,如果为真说明没有查询到要删除的DVD,这里可以不需要flag进行判断,直接在前面的if else语句中,添加一条if(ds.namei=null)就t、跳出for循环,我没有验证,只是根绝理论推敲。 System.out.println(Sor

19、ry,没有匹配到您要删除的DVD名称!); reMenu();/调用到返回菜单的方法中,继续调用主菜单! System.out.println(*); /*查询方法*/ public void search() System.out.println(- 查看DVD); System.out.println(序号tt状态tt名称tt借出日期); for (int i = 0; i ds.name.length; i+) /定义的for循环,这里的循环数组变量,可以用count或者state等均可! if(ds.namei=null) break; else if(ds.statei=0)/如果匹

20、配到ds.statei=0,说明需要归还的DVD归还的状态为借出状态,执行相应的代码语句。 System.out.println(i+1)+tt+已经借出+tt+t+ds.datei); else if(ds.statei=1)/如果匹配到ds.statei=1,说明需要归还的DVD归还的状态为未借出状态,执行相应的代码语句。 System.out.println(i+1)+tt+可以借出+tt); reMenu(); System.out.println(*); /*添加方法*/ public void add() System.out.println(- 新增DVD); System.ou

21、t.print(请输入需要增加的DVD名称:); String Name=input.next(); for (int i = 0; i ds.name.length; i+) /定义的for循环,这里的循环数组变量,可以用count或者state等均可! if(ds.namei=null)/判断namei是否为空?如果为NULL,则执行if语句的代码,对namei进行赋值操作 ds.namei=Name; ds.statei=1; System.out.println(新增+Name+成功!); break; reMenu(); System.out.println(*); public v

22、oid list() String Name=new String100;/定义一个新的Name数组,作用:把之前name数组里面的元素全部复制一份到Name数组中,用于后面的排榜操作! int Count=new int 100;/定义一个新的Count数组,作用:把之前count数组里面的元素全部复制一份到Count数组中,用于后面的排榜操作! for (int i = 0; i ds.name.length; i+) /定义的for循环,这里的循环数组变量,可以用count均可! Namei=ds.namei;/赋值操作,把namei里面的元素赋值给Namei; Counti=ds.co

23、unti;/赋值操作,把counti里面的元素赋值给Counti; for (int i = 0; i Count.length-1; i+) /这里根据借出次数来进行排序,排序的方法为:冒泡排序算法。 for (int j = 0; j Countj+1) intSwap(Count,j,j+1);/调用定义好的交换方法 stringSwap(Name,j,j+1); /调用定义好的交换方法 System.out.println(- 借出DVD次数排行版); System.out.println(排 名tt名 称t借出次数); int z=1;/用来显示排名数 for (int i = ds

24、.name.length-1; i 0 ; i-) if(Namei!=null)/如果Namei!=null,则执行相应的操作 System.out.println(第+z+名+tt+t+Counti); z+; reMenu(); System.out.println(*); /*DVD借出排行榜*/ public void list1() String Name=new String100;/定义一个新的Name数组,作用:把之前name数组里面的元素全部复制一份到Name数组中,用于后面的排榜操作! int Count=new int 100;/定义一个新的Count数组,作用:把之前

25、count数组里面的元素全部复制一份到Count数组中,用于后面的排榜操作! for (int i = 0; i ds.name.length; i+) /定义的for循环,这里的循环数组变量,可以用Count均可! Namei=ds.namei;/赋值操作,把namei里面的元素赋值给Namei; Counti=ds.counti;/赋值操作,把counti里面的元素赋值给Counti; for (int i = 0; i Count.length-1; i+) /这里根据借出次数来进行排序,排序的方法为:选择排序算法。 for (int j = i+1; j Countj) intSwap(Count,i,j);/调用定义好的交换方法 stringSwap(Name, i,j);/调用定义好的交换方法 System.out.println(- 借出DVD次数排行版); System.out.println(排 名tt名 称t借出次数); int z=1;/用来显示排名数 for (int i = ds.name.length-1; i 0 ; i-)

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

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