DVD管理系统修改版
DVD管理系统(MiniDVD)
1 import java.sql.Date; 2 import java.text.SimpleDateFormat; 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 import java.util.Scanner; 6 import java.util.Set; 7 import java.util.TreeSet; 8 9 import javax.net.ssl.TrustManagerFactorySpi; 10 import javax.print.DocFlavor.STRING; 11 12 13 //------DVD数据集合 14 class DVDSet{ 15 16 //--DVD名称 17 ArrayList<String> nameList = new ArrayList<String>(); 18 //--DVD状态 19 ArrayList<Integer> stateList = new ArrayList<Integer>(); 20 //--DVD借出日期 21 ArrayList<String> dateList = new ArrayList<String>(); 22 //--DVD借出次数 23 ArrayList<Integer> countList = new ArrayList<Integer>(); 24 25 } 26 27 class Rank implements Comparable<Rank>{ 28 29 String DVDName; 30 Integer DVDState; 31 String DVDDate; 32 Integer DVDCount; 33 34 public Rank(String DVDName,Integer DVDState,String DVDDate,Integer DVDCount){ 35 36 this.DVDName = DVDName; 37 this.DVDState = DVDState; 38 this.DVDDate = DVDDate; 39 this.DVDCount = DVDCount; 40 } 41 42 @Override 43 public String toString() { 44 // TODO Auto-generated method stub 45 return "\n[DVD:《" + this.DVDName + "》\t状态:" + this.DVDState + "\t日期:" + this.DVDDate + "\t次数:" + this.DVDCount + "]"; 46 } 47 @Override 48 public int compareTo(Rank o) { 49 // TODO Auto-generated method stub 50 if(o.DVDCount == o.DVDCount) 51 return -1; 52 return o.DVDCount - o.DVDCount; 53 } 54 } 55 56 class DVDMagr{ 57 58 //------构造DVD集合对象 59 DVDSet DVD = new DVDSet(); 60 61 //------DVD数据的初始化 62 public void initial(){ 63 64 DVD.nameList.add("罗马假日"); 65 DVD.nameList.add("风声鹤唳"); 66 DVD.nameList.add("浪漫满屋"); 67 68 DVD.stateList.add(0); 69 DVD.stateList.add(1); 70 DVD.stateList.add(1); 71 72 DVD.dateList.add("2016-12-1"); 73 DVD.dateList.add("无"); 74 DVD.dateList.add("无"); 75 76 DVD.countList.add(1); 77 DVD.countList.add(0); 78 DVD.countList.add(0); 79 } 80 81 //------菜单切换方法 82 public void startMenu(){ 83 84 System.out.println("1. 新增 DVD"); 85 System.out.println("2. 查看 DVD"); 86 System.out.println("3. 删除 DVD"); 87 System.out.println("4. 借出 DVD"); 88 System.out.println("5. 归还 DVD"); 89 System.out.println("6. 退 出"); 90 System.out.println("7. 借出排行榜"); 91 System.out.println("*******************************"); 92 System.out.println("请选择你要操作的栏目:"); 93 Scanner keyNum = new Scanner(System.in); 94 switch (keyNum.nextInt()) { 95 case 1: 96 System.out.println("----------->新增DVD~~~"); 97 System.out.println("*******************************"); 98 addDVD(); 99 break; 100 case 2: 101 System.out.println("----------->查看DVD~~~"); 102 System.out.println("*******************************"); 103 searchDVD(); 104 break; 105 case 3: 106 System.out.println("----------->删除DVD~~~"); 107 System.out.println("*******************************"); 108 deleteDVD(); 109 break; 110 case 4: 111 System.out.println("----------->借出DVD~~~"); 112 System.out.println("*******************************"); 113 lendDVD(); 114 break; 115 case 5: 116 System.out.println("----------->归还DVD~~~"); 117 System.out.println("*******************************"); 118 returnDVD(); 119 break; 120 case 6: 121 System.out.println("----------->退出DVD~~~"); 122 System.out.println("*******************************"); 123 returnSystem(); 124 break; 125 case 7: 126 System.out.println("----------->DVD借出排行榜~~~"); 127 System.out.println("*******************************"); 128 listDVD(); 129 break; 130 default : 131 System.out.println("操作异常,程序重载中........"); 132 break; 133 } 134 } 135 136 //------------新增DVD的方法 137 public void addDVD(){ 138 139 Scanner keyInput = new Scanner(System.in); 140 for (int i = 0; i < DVD.nameList.size(); i++) { 141 142 if (DVD.nameList.get(i).equals(DVD.nameList.get(DVD.nameList.size()-1))) { 143 144 System.out.println("请输入你要添加的 DVD名称:"); 145 DVD.nameList.add(keyInput.next()); 146 DVD.stateList.add(1); 147 DVD.dateList.add("无"); 148 DVD.countList.add(0); 149 System.out.println("新的DVD添加成功~~~~~"); 150 System.out.println("继续添加请按“1”,返回请按“0”:"); 151 Scanner keyNum = new Scanner(System.in); 152 int num = keyNum.nextInt(); 153 if (num == 1) { 154 155 addDVD(); 156 }else if (num == 0) { 157 158 startMenu(); 159 } 160 } 161 } 162 } 163 164 //------------查看DVD的方法 165 public void searchDVD(){ 166 167 System.out.println("序号\t" + "状态\t" + "名称\t\t" + "借出日期"); 168 for (int i = 0; i < DVD.nameList.size(); i++) { 169 170 if (DVD.nameList.get(i) != null) { 171 172 if (DVD.stateList.get(i) == 0) { 173 174 System.out.println(( i + 1) + "\t已 借出\t" +"<<" + DVD.nameList.get(i) + ">>\t" + DVD.dateList.get(i)); 175 }else if (DVD.stateList.get(i) == 1) { 176 177 System.out.println(( i + 1) + "\t可以借阅\t" + "<<" + DVD.nameList.get(i) + ">>\t" + DVD.dateList.get(i)); 178 } 179 } 180 } 181 returnMain(); 182 } 183 184 //------------删除DVD的方法 185 public void deleteDVD(){ 186 187 System.out.println("请输入你要删除的DVD:"); 188 Scanner keyInput = new Scanner(System.in); 189 String deleteDVD = keyInput.next(); 190 Iterator<String> it = DVD.nameList.iterator(); 191 192 while (it.hasNext()) { 193 194 if (deleteDVD.equalsIgnoreCase(it.next())) { 195 196 int index = DVD.nameList.indexOf(deleteDVD); 197 if (DVD.stateList.get(index) == 1) { 198 199 DVD.nameList.remove(deleteDVD); 200 DVD.stateList.remove(index); 201 DVD.dateList.remove(index); 202 System.out.println("《" + deleteDVD + "》" + "删除成功!!!"); 203 break; 204 }else if (DVD.stateList.get(index) == 0) { 205 206 System.out.println("《" + deleteDVD + "》" +"已借出,无法删除"); 207 break; 208 } 209 } 210 211 if(it.hasNext() == false){ 212 213 System.out.println("对不起,无法获取此DVD信息,请确认信息后重试!!!"); 214 } 215 } 216 returnMain(); 217 } 218 219 //------------借出DVD的方法 220 public void lendDVD(){ 221 222 System.out.println("请输入你要借出的DVD:"); 223 Scanner keyInput = new Scanner(System.in); 224 String lendDVD = keyInput.next(); 225 Iterator<String> it = DVD.nameList.iterator(); 226 while (it.hasNext()) { 227 228 if(lendDVD.equalsIgnoreCase(it.next())){ 229 230 int index = DVD.nameList.indexOf(lendDVD); 231 if(DVD.stateList.get(index) == 1){ 232 233 System.out.println("《" + lendDVD + "》" +"已找到,可以借阅!!!"); 234 System.out.println("请输入你的借阅时间(年-月-日):"); 235 Scanner keyDate = new Scanner(System.in); 236 DVD.dateList.set(index, keyDate.next()); 237 DVD.stateList.set(index, 0); 238 int num = DVD.countList.get(index); 239 num++; 240 System.out.println("《" + lendDVD + "》" + "借阅成功!!!"); 241 break; 242 }else if (DVD.stateList.get(index) == 0) { 243 244 System.out.println("《" + lendDVD + "》" +"已借出,无法借阅!!!"); 245 break; 246 } 247 } 248 249 if (it.hasNext() == false) { 250 251 System.out.println("对不起,无法获取此DVD信息,请确认信息后重试!!!"); 252 } 253 } 254 returnMain(); 255 } 256 257 //------------归还DVD的方法 258 public void returnDVD(){ 259 260 String lendDate; 261 String returnDate; 262 System.out.println("请输入你要归还的DVD:"); 263 Scanner keyInput = new Scanner(System.in); 264 String returnDVD = keyInput.next(); 265 int index = DVD.nameList.indexOf(returnDVD); 266 if (index >= 0 && DVD.stateList.get(index) == 0) { 267 268 lendDate = DVD.dateList.get(index); 269 System.out.println("请输入你的归还日期(年-月-日):"); 270 returnDate = keyInput.next(); 271 DVD.stateList.set(index, 1); 272 DVD.dateList.set(index, "无"); 273 System.out.println("《" + returnDVD + "》归还成功!!!"); 274 System.out.println("借DVD期间你所要支付的租金为(Charge):" + charge(lendDate,returnDate) + "$"); 275 }else{ 276 277 System.out.println("你归还的DVD没有借阅信息,请重新确认信息!!!"); 278 } 279 returnMain(); 280 } 281 282 //-------------租金计算系统 283 public long charge(String lendDate,String returnDate){ 284 285 long charge = 0; 286 SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd"); 287 try { 288 java.util.Date lDate = SDF.parse(lendDate); 289 java.util.Date reDate = SDF.parse(returnDate); 290 charge = (reDate.getTime() - lDate.getTime()) / (24*60*62*1000); 291 } catch (Exception e) { 292 // TODO: handle exception 293 e.printStackTrace(); 294 } 295 return charge + 2; 296 } 297 298 //------------DVD排行榜 299 public void listDVD(){ 300 301 302 TreeSet set = new TreeSet(); 303 304 for (int i = 0; i < DVD.nameList.size(); i++) { 305 306 set.add(new Rank(DVD.nameList.get(i), DVD.stateList.get(i), DVD.dateList.get(i), DVD.countList.get(i))); 307 } 308 309 Iterator it = set.descendingIterator(); 310 311 while(it.hasNext()){ 312 313 System.out.println(it.next()); 314 } 315 } 316 317 //------------返回主菜单方法 318 public void returnMain(){ 319 320 System.out.println("*******************************"); 321 Scanner keyInput = new Scanner(System.in); 322 System.out.println("系统操作:返回(*) 退出(#):"); 323 if (keyInput.next().equals("*")) { 324 325 startMenu(); 326 }else if (keyInput.next().equals("#")) { 327 328 returnDVD(); 329 }else { 330 331 System.out.println("输入错误,异常终止!!!"); 332 return; 333 } 334 } 335 336 //------------退出DVD的方法 337 public void returnSystem(){ 338 339 Scanner keyInput = new Scanner(System.in); 340 System.out.println("确认退出请输入-0-:"); 341 if (keyInput.nextInt() == 0) { 342 343 System.out.println("DVD退出成功......"); 344 return; 345 }else{ 346 347 System.out.println("输入错误,异常终止!!!"); 348 return; 349 } 350 } 351 } 352 353 public class MiniDVD { 354 355 /** 356 * @param args 357 */ 358 public static void main(String[] args) { 359 // TODO Auto-generated method stub 360 361 //----构造管理员对象 362 DVDMagr manger = new DVDMagr(); 363 364 System.out.println("\n"); 365 System.out.println("*******************************"); 366 System.out.println("欢迎使用迷你DVD管理器"); 367 System.out.println("*******************************"); 368 369 //----DVD数据的初始化 370 manger.initial(); 371 372 //----DVD的主菜单 373 manger.startMenu(); 374 } 375 376 }
转载于:https://www.cnblogs.com/fengqiqi/p/6133064.html
DVD管理系统修改版相关推荐
- kali linux安装watchdog(Watchdog是bayonet修改版)bayonet是一款src资产管理系统,从子域名、端口服务、漏洞、爬虫等一体化的资产管理系统
Watchdog bayonet是一款src资产管理系统,从子域名.端口服务.漏洞.爬虫等一体化的资产管理系统 Watchdog是bayonet修改版,重新设计了数据库及web及扫描程序 下载地址:h ...
- java-net-php-python-jsp保险公司报销演示录像修改版2020计算机毕业设计程序
java-net-php-python-jsp保险公司报销演示录像修改版2020计算机毕业设计程序 java-net-php-python-jsp保险公司报销演示录像修改版2020计算机毕业设计程序 ...
- fc天使之翼2020修改版下载_海岛奇兵无限钻石修改版下载-海岛奇兵无限钻石修改版下载2020...
海岛奇兵无限钻石修改版绝对是小伙伴们都在寻找的资源,修改众多资源,玩家可以解锁不同兵种建立更强大的部队啦!通过塔防与掠夺不断强化我方战力,合理运用策略至关重要,喜欢的朋友千万别错过! 修改无限钻石.金 ...
- 隐藏探针显示php版本号,修改版雅黑PHP探针 支持PHP7+(v0.4.7.2)
雅黑 PHP 探针用于 Linux 系统(不推荐使用于 Windows 系统),每秒更新,不用刷网页.可以实时查看服务器硬盘资源.内存占用.网卡流量.系统负载.服务器时间等信息,1 秒钟刷新一次. 可 ...
- 【转】修改版WinXP集体歇业避免遭遇调查
来自:新浪科技 立雄 20日,有消息披露番茄花园作者洪磊确认被拘的消息后,在业界引发了强烈的反响.22日凌晨,记者再次尝试登陆这些版本的官方下载网站时发现,他们已经集体歇业,或关闭提供软件下载的官 ...
- phpcms9.6 ueditor_PHPCMS V9.6.6 修改版
本帖最后由 zhaoxunzhiyin 于 2020-12-12 18:14 编辑 PHPCMS V9.6.6 修改版官方改了后台界面,修复bug 安装文件不检查index.html 安装完删除安装目 ...
- 列字段通用excel导入修改版
最近使用开发的过程中出现了一个小问题,顺便记录一下原因和方法--列字段 入导Excel对网上通用excel入导修改版:处理Excel中单元格为数字问题.可以连续取读多个sheet 每日一道理 书,各种 ...
- 官方原版美化修改版完美适配双端海洋cms模板
简介: 官方原版美化修改版海洋cms模板,官方V10.7版本自带原模板,已测试,完美无错,自适应手机端. 美化修改了:1.导航为一行,2.首页添加幻灯片效果,3.播放页修改为完整显示,不会因为页面的滑 ...
- Gentoo Framebuffer, Bootsplash Grubsplash 指南(修改版)
Gentoo Framebuffer, Bootsplash & Grubsplash 指南(修改版) Gentoo Framebuffer, Bootsplash & Grubspl ...
最新文章
- java cirteria_java – 简单的JPA CriteriaQuery的条件
- python多张图片合并拼接,python制作sprite图、雪碧图
- BZOJ-1968 COMMON 约数研究 数论+奇怪的姿势
- git 上传修改文件
- java切面获取异常日志_spring aop 配置切面,记录系统异常存入log日志
- android 字体切换快捷键,Android stdio 字体设置及快捷键
- php连接mysql数据库输出_PHP连接并输出数据库数据实例代码
- rust笔记9 错误处理
- 戴尔笔记本怎么重装系统win11,win11系统安装方法
- The mbstring extendsion is missing,Please check you PHP configuration
- Lucene.Net中 FSDirectory存储方式下一个 Document是如何得到的
- View的setLayerType() , setDrawingCacheEnabled() 方法用法
- Apache PDFBox 1.8.1 发布
- 最全经典 | 机器视觉基础知识汇总
- cron表达式及在线生成器
- 月入5万!这个头条号变现大招好多人都没注意到
- EasyBoot教程二:制作PE多重启动盘方法
- HTML特效代码大全
- 大量数据导出Excel 之 多重影分身之术
- Android之设备加密