==========
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. curl不能支持https问题

    前面说了 update nss 并没有解决问题. 想办法重新安装一下:CURL 1.下载安装包 [root@mycentos ~]# wget https://curl.haxx.se/downloa ...

  2. numpy.meshgrid()

    numpy提供的numpy.meshgrid()函数可以让我们快速生成坐标矩阵X,Y 语法:X,Y = numpy.meshgrid(x, y)输入:x,y,就是网格点的横纵坐标列向量(非矩阵)输出: ...

  3. 安装python sklearn经验总结

    1. 需要安装 numpy, scipy, 和sklearn和ipython,Cython sklearn,ipython, Cython都可以通过pip来安装.但scipy,可能还有numpy必须通 ...

  4. redhat vim编辑器永久添加行号及搜索

    设置行号: 跳转到home $ cd ~ 编辑.vimrc,没有的话自动创建 $ vim .vimrc 第一行加入: set nu :wq 保存退出,即可 如果想取消设置,同理删除set nu即可 v ...

  5. vim自动格式化

    ,gg 跳转到第一行 ,shift+v 转到可视模式 ,shift+g 全选 ,按下神奇的 = 你会惊奇的发现代码自动缩进了,呵呵,当然也可能是悲剧了.

  6. aop编程之前置通知

    aop( Aspect-Oriented Programming)前置通知原理案例讲解 编程步骤: 定义接口 编写对象(被代理的对象即目标对象) 编写通知(前置通知即目标方法调用前调用) 在beans ...

  7. MyEclipse 黑色主题 jsp 页面 js背景色修改

    Windows-->Preferences-->Myeclipse-->Files and Editors-->JavaScript-->Editor-->Synt ...

  8. 使用淘宝npm镜像

    我们都知道淘宝大量采用了Nodej技术,所以它的镜像还是值得肯定的!更多相关可查看:淘宝NPM镜像 npm的官方镜像在国内访问是比较慢的,所以替代方法是使用淘宝npm镜像! 淘宝 NPM 镜像是一个完 ...

  9. html5-select和datalist元素

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  10. django的母板和继承

    Django模板中只需要记两种特殊符号: {{  }}和 {% %} {{ }}表示变量,在模板渲染的时候替换成值,{% %}表示逻辑相关的操作. 母板 <!DOCTYPE html> & ...