//DVD类
public class DVD {boolean flag = false;int num;Scanner input = new Scanner (System.in);String [] names = new String[6];//名称数组int [] states = new int[6]; //0可借  1已借出   借阅状态数组int [] dates = new int[6];//借阅日期 数组int [ ]counts  = new int [6];//借阅次数数组//数据初始化public void init(){//数据初始化 最多6本书//DVD :DVD名称  借阅状态  借阅日期 借阅次数 //boolean flag=true;//标识用户是否要退出系统  true 为不退出names[0]= "白雪公主";dates[0]=5;states[0]=1;counts [0]= 10;names[1]= "葫芦娃";dates[1]=0;states[1]=0;counts [1]= 10;names[2]= "舒克贝塔";dates[2]=0;states[2]=0;counts [2]= 25;}//开始菜单public void StartMenu(){System.out.println("欢迎使用迷你DVD管理系统");System.out.println("---------------");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("---------------");System.out.println("请选择:");int choose = input.nextInt();switch(choose){case 1:LookDVD();break;case 2:addDVD();break;case 3:delDVD();break;case 4:lendDVD();break;case 5:sendDVD();break;case 6:System.out.println("谢谢使用");break;default:System.out.println("谢谢使用");break;}reMenu();}//返回主菜单继续使用的方法public void reMenu(){if(!flag){//跳出循环return;}else{//不结束使用系统 代表用户要返回主菜单继续操作System.out.println("输入0返回");num = input.nextInt();if(num ==0){StartMenu();}else{System.out.println("输入错误,程序即将退出");}}}//查看DVDpublic void LookDVD(){init();flag = true;System.out.println("DVD信息列表-->");System.out.println("序号\t名称\t状态\t借阅日期\t借阅次数");//遍历所有图书信息  for(int i = 0;i<names.length;i++){if(names[i]!=null){String state =(states[i]==0)?"可借阅":"已借出";String date =(dates[i]==0)?"":dates[i]+"日";String count = counts[i]+"次";System.out.println((i+1)+"\t"+names[i]+"\t"+state+"\t"+date+"\t"+count);}else{//遇到第一个为null的名称   意味着后面名称也为null 不用继续输出break;}}}//新增public void addDVD(){init();flag = true;System.out.println("新增DVD-->");System.out.print("请输入新增DVD名称:");String name = input.next();//判断是否能新增DVDboolean flagAdd = false;//如果能添加  改为truefor(int i = 0;i<names.length;i++){if(names[i]==null){flagAdd = true;names[i]= name;System.out.println("DVD《"+name+"》添加成功!");break;}}if(!flagAdd){System.out.println("货架已满 无法添加");}}//删除public void delDVD(){init();flag = true;System.out.println("删除DVD-->");System.out.print("请输入要删除DVD名称:");String deleteBook = input.next();//要删除DVD的位置int index = -1;for(int i = 0;i<names.length;i++){if(names[i]==null){//没找到System.out.println("这不是我们的DVD  不用删除");break;}else if (names[i].equals(deleteBook) && states[i]==1){//找到了要删除的DVD 但是DVD已经借出去了System.out.println("该DVD已经借出去了  无法删除!");break;}else if (names[i].equals(deleteBook) && states[i]==0){//找到了要删除的DVD 但是DVD 没借出去了//记录一下该DVD 的位置index = i;break;}}//index 可能依然是-1  也可能是一个正常的位置//根据DVD 的位置进行删除  后续位置依次删除 依次往前覆盖if(index !=-1){//从index 到数组的最后一个DVD 依次往前覆盖 但是最后一DVD 要置空for(int i = index;i<names.length;i++){if(i!=names.length-1){names[i]=names[i+1];dates[i]=dates[i+1];states[i]=states[i+1];counts [i]=counts[i+1];}else{names[names.length-1]=null;counts[names.length-1]=0;dates[names.length-1] =0;states[names.length-1]=0;}}System.out.println("DVD 删除成功!");}else{System.out.println("无法删除!");}}//借出public void lendDVD(){init();flag = true;System.out.println("借阅DVD -->");System.out.println("请输入借阅DVD 的名称:");String want = input.next();for(int i = 0;i<names.length;i++){if(names[i] == null){//没找到要借的DVD System.out.println("没有找到这个DVD !");break;}else if(names[i].equals(want) && states[i]==0){//找到了要借的DVD   DVD 的状态为可借阅System.out.print("请输入借阅日期:");dates[i]= input.nextInt();while((dates[i]<1 || dates[i]>31)){System.out.println("数字格式不正确  请输入1-31之间的数字!");dates[i]= input.nextInt();}System.out.println("借出《"+want+"》成功!");states[i]=1;//将DVD 的状态修改为已借出 counts[i]++;//借阅次数加1break;}else if (names[i].equals(want) && states[i]==0){//找到了要借的DVD   DVD 的状态为不可借阅System.out.println("该DVD 已经借出去了");}}}//归还public void sendDVD(){init();System.out.println("归还DVD -->");System.out.println("请输入归还DVD 的名称:");String returnDVD  = input.next();flag = true;for(int i = 0;i<names.length;i++){if(names[i] == null){//没找到要还的书System.out.println("这不是我们的DVD 不用归还!");break;}else if(names[i].equals(returnDVD ) && states[i]==1){//找到了要还   状态为已借出System.out.print("请输入归还日期:");int date = input.nextInt();while(date<1 ||date>31 ||date<dates[i]){if(date<1 || date>31){System.out.println("数字格式不正确  请输入1-31之间的数字!");date = input.nextInt();}else if(date<dates[i]){System.out.println("归还日期不可小于借阅日期!");date = input.nextInt();}}System.out.println("归还《"+returnDVD +"》成功!");states[i]=0;//将DVD 的状态修改为可借阅//计算租金int  money= ((date-dates[i])*1);//重新设置借阅日期 dates[i]=0;System.out.println("租金为:"+money+"元");break;}else if (names[i].equals(returnDVD ) && states[i]==0){//找到了要还的DVD   DVD 的状态为可借阅System.out.println("无法归还!");}}}
}测试类public class MyDVD {public static void main(String[] args) {DVD dMar = new DVD();dMar.StartMenu();}
}

Java求生之路--迷你DVD管理器相关推荐

  1. JAVA之迷你DVD管理器

    1.JAVA之迷你DVD管理器. 1>打开记事本,写如下一段代码: import java.text.ParseException; import java.text.SimpleDateFor ...

  2. java迷你DVD管理器

    package com.xxx.dvd;public class DVDSet {public String name;//dvd名称public int state;//dvd状态public St ...

  3. JAVA综合练习-迷你DVD管理器

    系统概述 为某音像店开发一个迷你DVD管理器,实现DVD碟片的管理,包括如下功能: 新增DVD 查看DVD 删除DVD 借出DVD 归还DVD 退出DVD. 实现数据初始化 实现菜单切换 实现查看DV ...

  4. 迷你DVD管理器项目

    1 package chapter5; 2 import java.util.*; 3 4 public class MiniDVD { 5 public static void main(Strin ...

  5. DVD管理系统:为某音像店开发一个迷你DVD管理器,实现DVD碟片的管理,包括如下功能:

     package com.sxt.oop.dvd; /**  * DVD类  * @author ty  *  */ public class Dvd implements Comparable& ...

  6. dvd管理器java,简单DVD管理-java练习题

    问题描述 为某音像店开发一个迷你DVD管理器,最多可存6张DVD,实现碟片的管理. 管理器具备的功能主要有: 1.查看DVD信息. 菜单选择查看功能,展示DVD的信息. 2.新增DVD信息 选择新增功 ...

  7. Java基础课程设计——DVD管理器

    一.DVD管理器项目介绍 基于java的DVD管理器实现,功能如下:新增DVD,查看DVD,删除DVD,借出DVD,归还DVD,退出DVD 二.代码实现 1.创建三个类 DVD:存放DVD属性 DVD ...

  8. Java迷你图书管理器1.2-面向对象+I/O流

    CSDN话题挑战赛第2期 参赛话题:Java技术分享 迷你图书管理器 author:luckyboy! version:1.2 知识储备:变量.数据类型.选择结构.循环结构.数组 .面向对象.集合和I ...

  9. 迷你图书管理器1.2 - 面向对象+集合

    迷你图书管理器 author:luckyboy! version:1.2 知识储备:变量.数据类型.选择结构.循环结构.数组 .面向对象.集合 系统概述:为某图书馆开发一个迷你图书管理系统,实现图书的 ...

最新文章

  1. 使用Github+Hexo框架搭建部署自己的博客
  2. 【Python刷题】_1
  3. 运行VC++6.0出现error LNK2001: unresolved external symbol _WinMain@16
  4. python int64,如何从Python生成唯一的64位整数?
  5. Command ***/bin/ git fetch --tags --progress denied
  6. mysql添加外键约束失败cannot add foreign key constraint
  7. linux用户登录失败,锁定用户
  8. linux+npm+v+报错_linux下安装npm
  9. java中打印当前时间_在java中打印当前日期
  10. jQuery事件委派与移除
  11. c#_delegate_异步调用_BeginInvoke
  12. html5 innerhtml标签,innerHTML、outerHTML与innerText、outerText
  13. python图像文字识别 - PyTesser
  14. Web视频上添加文字
  15. 阿里面试——机器学习岗四个面试案例
  16. Spring——DI
  17. 【C++】packaged_task的用法实例
  18. android 清空画布内容,Android,canvas:如何清除(删除)位于surfaceView中的画布(=位图)的内容?...
  19. java基于ssm的宠物狗商店交流网站
  20. 力扣1705——吃苹果的最大数目(贪心+优先队列)

热门文章

  1. javascript通过点击事件启动QQ程序
  2. laravel伪静态
  3. 反欺诈概念库-虚假交易
  4. 使用openCV或PIL库修改图片的颜色
  5. 骨传导耳机能降噪吗?骨传导耳机好不好用?
  6. 裁剪带圆环的圆形的图片步骤
  7. 【免费】iPhone上最好用的短信群发软件: 高速短信4.1
  8. 360儿童卫士2智能手表
  9. 更改linux的timewait时间,解决Linux下大量的time_wait问题
  10. 剖析遍历抓取的html标签数据,Jquery遍历数组(包括获取后端数据后的操作)和遍历标签(class名)...