==========
DVD管理系统
==========

这是DVD任务管理器的主界面:

 package day20181224;

 import java.text.ParseException;
import java.util.Scanner; public class DVDMenu {
Scanner input=new Scanner(System.in);
DVDMgr gsp=new DVDMgr();
public void MiniDvd() throws ParseException{
System.out.println("欢迎使用迷你DVD管理器");
System.out.println("---------------------------");
System.out.println("1.新增DVD\n2.查看DVD\n3.删除DVD"
+ "\n4.借出DVD\n5.归还DVD\n6.退出");
System.out.println("---------------------------");
startMenu();
}
public void startMenu() throws ParseException{
System.out.print("请选择:");
int get=input.nextInt();
switch(get){
case 1:
gsp.add();
System.out.println("---------------------------");
returnMenu();
break;
case 2:
gsp.search();
System.out.println("---------------------------");
returnMenu();
break;
case 3:
gsp.delete();
System.out.println("---------------------------");
returnMenu();
break;
case 4:
gsp.borrow();
System.out.println("---------------------------");
returnMenu();
break;
case 5:
gsp.returnDvd();
System.out.println("---------------------------");
returnMenu();
break;
case 6:
System.out.println("\n谢谢您的使用!");
break;
default:
System.out.println("您的输入有误,请重新输入:");
startMenu();
break;
}
}
public void returnMenu() throws ParseException{
System.out.print("输入0返回:");
if(input.nextInt() == 0){
MiniDvd();
}else {
System.out.println("您的输入有误,请重新输入");
returnMenu();
}
}
}

这是信息更新操作:

 package day20181224;

 import 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 dsp=new DVDSet();
public void initial(){
dsp.name[0]="罗马假日";
dsp.state[0]=0;
dsp.date[0]="2013-7-1";
dsp.name[1]="风声鹤唳";
dsp.state[1]=1;
dsp.name[2]="浪漫满屋";
dsp.state[2]=1;
}
//添加
public void add() throws ParseException{
System.out.println("--->新增DVD");
System.out.println("");
System.out.print("请输入DVD名称:");
String get=input.nextLine();
for(int i=0;i<dsp.name.length;i++){
if(dsp.name[i]==null){
dsp.name[i]=get;
dsp.state[i]=1;
System.out.println("新增《"+get+"》成功!");
break;
}
}
}
//查看
public void search() throws ParseException{
System.out.println("--->查看DVD");
System.out.println("");
System.out.println("序号\t状态\t名称\t\t借出日期");
for(int i=0;i<dsp.name.length;i++){
if(dsp.name[i]==null){
break;
}
else if (dsp.state[i]==0){
System.out.println(i+1+"\t已借出\t"+"<<"+dsp.name[i]+">>\t"+dsp.date[i]);
}else if(dsp.state[i]==1){
System.out.println(i+1+"\t可借\t"+"<<"+dsp.name[i]+">>");
}
}
}
//删除
public void delete() throws ParseException{
System.out.println("--->删除DVD");
System.out.println("");
System.out.print("请输入DVD名称:");
String get=input.next();
for(int i=0;i<dsp.name.length;i++){
if(dsp.name[i]!=null){
if(get.equals(dsp.name[i])){
if(dsp.state[i]==0){
System.out.println("《"+dsp.name[i]+"》为借出状态,不能删除!");
break;
}else if(dsp.state[i]==1){
for(int j=i;j<dsp.name.length;j++){
if(dsp.name[j+1] != null){
dsp.name[j] = dsp.name[j+1];
dsp.state[j] = dsp.state[j+1]; }else{
//清空最后一个值
dsp.name[j] = null;
dsp.date[j] = null;
break;
}
}
System.out.println("删除《"+get+"》成功");
break;
}
}
}else{
System.out.println("《"+get+"》不存在,不能删除!");
break;
}
}
}
//借阅
public void borrow() throws ParseException{
System.out.println("--->借出DVD");
System.out.println("");
System.out.print("请输入DVD名称:");
String get=input.nextLine();
for(int i=0;i<dsp.name.length;i++){
if(dsp.name[i]!=null){
if(dsp.name[i].equals(get) && dsp.state[i] == 1){
dsp.state[i] = 0;
System.out.print("请输入借书的时间(年-月-日):");
Scanner inputDate = new Scanner(System.in);
dsp.date[i] = inputDate.next();
System.out.println("借出<<"+get+">>成功!");
break;
}else if(dsp.name[i].equals(get) && dsp.state[i] == 0){
System.out.println("不好意思<<"+get+">>已经被借出!");
break;
}
}else{
System.out.println("没有您要找的DVD!");
break;
}
}
}
//归还
public void returnDvd() throws ParseException{
System.out.println("--->归还DVD");
System.out.println("");
System.out.print("请输入DVD名称:");
String get=input.nextLine();
for(int j=0;j<dsp.name.length;j++){
if(dsp.name[j]==null){
System.out.println("没有找到匹配信息!");
break;
}else if(dsp.name[j].equals(get)&&dsp.state[j]==0){
dsp.state[j]=1;
System.out.print("请输入归还日期(年-月-日):");
String get2=input.nextLine();
System.out.println("\n");
System.out.println("归还《"+get+"》成功!");
System.out.println("借出日期为:"+dsp.date[j]);
System.out.println("归还日期为:"+get2);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Date startDate=sdf.parse(dsp.date[j]);//开始时间
Date endDate=sdf.parse(get2);//结束时间
int days=(int)((endDate.getTime()-startDate.getTime())/(24*60*60*1000));
System.out.println("应付租金(元)"+days);
dsp.date[j]=null;
break;
}else if(dsp.name[j].equals(get)&&dsp.state[j]==1){
System.out.println("此书尚未被借,无法进行归还操作!");
break;
}
}
}
}

这是初始化信息:

 package day20181224;

 public class DVDSet {
String[ ] name = new String[50];//DVD 名称数组
int[ ] state = new int[50]; //DVD 借出状态:0 已借 出,1 可借
String[ ] date=new String[50]; //DVD
//初始化
}

这是测试类:

 package day20181224;

 import java.text.ParseException;

 public class TestDvd {

     public static void main(String[] args) throws ParseException {
DVDMenu cs=new DVDMenu();
//调用初始化值
cs.gsp.initial();
//调用菜单
cs.MiniDvd();
} }

以上。

最后,祝看到此篇的所有人新年快乐,明年再续辉煌!

简易DVD查询系统的更多相关文章

  1. Python 小案例实战 —— 简易银行存取款查询系统

    Python 小案例实战 -- 简易银行存取款查询系统 涉及知识点 包的调用 字典.列表的混合运用 列表元素索引.追加 基本的循环与分支结构 源码 import sys import time ban ...

  2. Vue2.0 + Element-UI + WebAPI实践:简易个人记账系统

    最近正在学习Vue2.0相关知识,正好近期饿了么桌面端组件Element-UI发布,便动手做了一款简易个人记账系统,以达到实践及巩固目的. 1.开发环境 Win10 + VS2015 + Sqlser ...

  3. 简易的CRM系统案例之易的CRM系统案例之JSP+MySQL+SSH框架版本

    主要对上一篇hibernate与Spring进行整合改进 简易的CRM系统案例之Struts2+Hibernate3+JSP+MySQL版本 bean-base.xml <?xml versio ...

  4. 简易的CRM系统案例之Struts2+Hibernate3+JSP+MySQL版本

    改造上一版本的DAO层 简易的CRM系统案例之Struts2+JSP+MySQL版本 src文件下hibernate.cfg.xml <!DOCTYPE hibernate-configurat ...

  5. Android查询系统的音频(音乐播放器的核心)

    //查询系统的音频库 public static List<MusicBean> getMusicInfo(Context context){ List<MusicBean> ...

  6. 用dedecms自定义表单创建简易自助预约系统

    建站往往需要根据客户的需求来增加相应的功能,比如预约.平时用比较多的是织梦系统,那么如何用dedecms自定义表单创建简易自助预约系统呢? 进入dedecms后台,左侧菜单中依次点击“核心” - 频道 ...

  7. 用excel打造报表查询系统

    网络数据库以及ERP在中小型企业中日益风行,虽然ERP功能强大,但有的ERP报表系统中规范的报表较少,主要提供二次开发接口或通过如CRYSTALREPORT等其他报表工具进行管理,其实我们可以使用Ex ...

  8. 【云图】如何制作全国KTV查询系统?

    原文:[云图]如何制作全国KTV查询系统? 摘要:本文以[唱吧]531麦霸音乐节为案例,详细解读了如何导入自有数据到高德云图,并进行检索和展示.最后,调起高德mobile地图来进行路线规划和周边查询. ...

  9. 【百度地图API】建立全国银行位置查询系统(五)——如何更改百度地图的信息窗口内容?

    原文:[百度地图API]建立全国银行位置查询系统(五)--如何更改百度地图的信息窗口内容? 摘要: 酷讯.搜房.去哪儿网等大型房产.旅游酒店网站,用的是百度的数据库,却显示了自定义的信息窗口内容,这是 ...

随机推荐

  1. cocos2d-x 暂停/恢复 与场景相关(SceneGraph类型)的监听器

    开发过程中,我们经常会遇到这样的情况:想要让一个Layer中所有的Node对象的事件都停止响应. 在响应用户事件后,又要恢复该Layer的所有事件响应. 如: 用户想要显示一个模式对话框,显示对话框后 ...

  2. model.addattribute()的作用

    1.往前台传数据,可以传对象,可以传List,通过el表达式 ${}可以获取到, 类似于request.setAttribute("sts",sts)效果一样. 2.@ModelA ...

  3. matlab 字符串处理函数

    https://www.cnblogs.com/emanlee/archive/2012/09/13/2683912.html % 字符串处理 a='  a';b='b  b';c='cccc';m= ...

  4. hadoop管理

    hadoop管理工具: 一,dfsadmin工具 dfsadmin 工具用途比较广,既可以查找HDFS状态信息,又可以在HDFS上执行管理操作,以hdfs dfsadmin形式调用,且需要超级用户权限 ...

  5. gitlab4.0备份还原

    一,备份 备份默认路径查看: gitlab/config/gitlab.yml 中的backup: 默认tmp/backups ====>这个是gitlab/tmp/backups/  可不是系 ...

  6. 初识Vue,简单的todolist

    vue开发源码:https://vuejs.org/js/vue.js todolist代码: <!DOCTYPE html> <html lang="en"&g ...

  7. linux脚本文件执行的方法之间的区别

    sh/bash sh a.sh bash a.sh 都是打开一个subshell去读取.执行a.sh,而a.sh不需要有"执行权限",在subshell里运行的脚本里设置变量,不会 ...

  8. Python全栈-库的操作

    一.系统数据库 安装数据库系统后,系统自带的数据库.通过mysql客户端连接数据库系统后,使用show命令可查看系统中存在的所有库: mysql> show databases; +------ ...

  9. HTML5特性&&canvas

    1.HTML5是由W3C(万维网联盟,专注于XHTML 2.0)和WHATWG(专注于web表单和应用程序)共同合作的结果,2014年10月完成标准制定! 主要设计目的:为了在移动设备上支持多媒体. ...

  10. 使用JFileChooser实现在指定文件夹下批量添加根据“数字型样式”或“非数字型样式”命令的文件夹

    2018-11-05 20:57:00开始写 Folder.java类 import javax.swing.JFrame; import javax.swing.JPanel; import jav ...