==========
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. KMP模板(bin)

    KMP模板 主要是kuangbin的模板,之后加了一点我的习惯和理解. kmpN() 作用:构造next数组 参数:模式串,模式串长度 kmpC() 作用:返回模式串在主串中出现的次数(可重复) 参数 ...

  2. LeetCode122.买卖股票的最佳时机II

    给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你不能同时参与多笔交易(你必须在再次 ...

  3. <1>Cocos Creator安装和启动

    学习之间需要了解JavaScritp基本语法和面向对象,详情参考https://blog.csdn.net/jadeshu/article/category/7476938 1.下载Cocos Cre ...

  4. QT5 QT4--LNK2019 无法解析的外部符号

    新创建的工程 #include <QtWidgets/QApplication> #include <QtWidgets/QWidget> #include <QtWid ...

  5. kali linux wmtools安装

    1,选择挂载盘时选择自动检测 2,点击安裝vmware tools安裝 3.tar -xzf 壓縮包名 4../vmware-install.pl 5,reboot

  6. Steam API调试

    概览 经过这些年,Steam 已经成长为一款大型应用程序,提供多款调试用单独模块及方法.本文将尽量向您呈现这些模块与方法,帮助您充分利用 Steam 与 Steamworks,减少烦恼. Steam ...

  7. poj2114 寻找树上存在长度为k点对,树上的分治

    寻找树上存在长度为k点对,树上的分治  代码和  这个  差不多 ,改一下判断的就好 #include <iostream> #include <algorithm> #inc ...

  8. QString字符串中双引号的梗

    [1]QString字符串不支持双引号 最近做项目(本地环境:WIN10 + QT5.9.2 + VS2017).有个需求,需要实现形如 "key="123456"&qu ...

  9. neuFlow&CNP-卷积计算加速器&神经网络加速芯片生态系统

    上周看到韩松毕业论文,扯出神经网络加速器EIE,刚好这周调研了一下neuFlow,扯出09年的一篇做卷积加速的文章,大牛Lecun Yan的学生做的,一晃眼,快十年了.也记录之. 这一套还没研究透,又 ...

  10. 利用可排序Key-Value DB构建时间序列数据库(简论)

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/ShiJiaqi. http://www.cnblogs.com/shijiaqi1066/p/5855064. ...