package dvdManagementSystem;/*** 1.创建一个DVD类,包含编号,片名,类型,状态,借出时间,归还时间。* 2.创建一个工具类,可以对DVD进行增删改查,以及借出,归还。* 尽可能体现封装的思想。*/import java.util.Scanner;public class Main {public static void main(String[] args) {System.out.println("*****************欢迎来到DVD管理系统**********************");Tools dm = new Tools();Scanner sc = new Scanner(System.in);int s = 0;do{dm.showMenu();s = sc.nextInt();switch (s) {case 1:dm.showDVD();break;case 2:dm.addDVD();break;case 3:dm.delDVD();break;case 4:dm.changeDVD();break;case 5:dm.lendDVD();break;case 6:dm.backDVD();break;case 7:System.out.println("欢迎下次再来!!!");break;default:System.out.println("您输入的有误,请重新输入:");break;}}while(s != 7);//dm.showDVD();sc.close();}}
package dvdManagementSystem;import java.text.SimpleDateFormat;
import java.util.Date;public class DVD {private String id;//编号private String name;//片名private String type;//类型private boolean status;//状态private Date lendTime;//借出时间private Date returnTime;//归还时间public DVD() {super();}public DVD(String id, String name, String type) {super();this.id = id;this.name = name;this.type = type;}public DVD(String id, String name, String type, boolean status, Date lendTime, Date returnTime) {super();this.id = id;this.name = name;this.type = type;this.status = status;this.lendTime = lendTime;this.returnTime = returnTime;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getType() {return type;}public void setType(String type) {this.type = type;}public boolean isStatus() {return status;}public void setStatus(boolean status) {this.status = status;}public Date getLendTime() {return lendTime;}public void setLendTime(Date lendTime) {this.lendTime = lendTime;}public Date getReturnTime() {return returnTime;}public void setReturnTime(Date returnTime) {this.returnTime = returnTime;}@Overridepublic String toString() {SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日-HH:mm:ss");String lt=lendTime==null?" ":sdf.format(lendTime);String rt=returnTime==null?" ":sdf.format(returnTime);return "编号:" + id + ",片名:《" + name + "》,类型:" + type + ", 状态:" + (status==true?"已借出":"未借出") + ", 借出时间:" + lt+ ", 归还时间:" + rt;}
}
package dvdManagementSystem;import java.util.Date;
import java.util.Scanner;public class Tools {DVD[] dvds=new DVD[100];public Tools() {//进货dvds[0]=new DVD("CD0001", "满城尽带黄金甲", "大片");dvds[1]=new DVD("CD0002", "复仇者联盟", "科幻片");dvds[2]=new DVD("CD0003", "西虹市首富", "喜剧片");dvds[3]=new DVD("CD0004", "碟中谍", "动作片");dvds[4]=new DVD("CD0005", "泰坦尼克号", "情感片");dvds[5]=new DVD("CD0006", "2012", "灾难片");dvds[6]=new DVD("CD0007", "后天", "灾难片");dvds[7]=new DVD("CD0008", "山村老尸", "恐怖片");}public void showMenu() {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.归还DVD");System.out.println("7.退出系统");System.out.println("请选择:");}//查询所有的DVD资料public void showDVD() {System.out.println("查询成功,DVD详细内容如下:");for (int i = 0; i < dvds.length; i++) {if (dvds[i] == null) {break;} else {System.out.println(dvds[i].toString());}}}//新增DVD资料public void addDVD() {Scanner sc = new Scanner(System.in);System.out.println("请输入要新增DVD的编号:");String s = sc.next();if (searchID(s)) {System.out.println("你输入的DVD已存在,新增失败....");} else {System.out.println("请输入要新增DVD的片名:");String name = sc.next();System.out.println("请输入要新增DVD的类型:");String type = sc.next();int k = 0;for (int i = 0; i < dvds.length; i++) {if (dvds[i] == null) {k = i;break;}}dvds[k] = new DVD(s, name, type);System.out.println("新增成功!!!");}//sc.close();}//删除DVD资料public void delDVD() {Scanner sc = new Scanner(System.in);System.out.println("请输入要删除DVD的编号:");String s = sc.next();if(searchID(s)) {for (int i = 0; i < dvds.length; i++) {if (dvds[i] == null) {break;} else if (dvds[i].getId().equals(s)) {System.out.println("删除成功!!!");for (int j = i; j < dvds.length - 1; j++) {dvds[j] = dvds[j + 1];if (dvds[j + 1] == null ) {break;}}} }} else {System.out.println("你输入的DVD不存在,删除失败....");}}//修改DVD资料public void changeDVD() {System.out.println("请输入您要修改的DVD的编号:");Scanner sc = new Scanner(System.in);String s = sc.next();if (searchID(s)) {for (int i = 0; i < dvds.length; i++) {if (dvds[i] == null) {break;} else if (dvds[i].getId().equals(s)) {System.out.println("请输入修改后DVD的编号:");String n = sc.next();if (searchID(n) && (s.equals(n)) == false) {System.out.println("你修改的DVD编号已存在,修改失败....");break;} else {dvds[i].setId(n);System.out.println("请输入修改后DVD的片名:");dvds[i].setName(sc.next());System.out.println("请输入修改后DVD的类型:");dvds[i].setType(sc.next());break;}}}} else {System.out.println("您所要修改的DVD不存在....");}}//借出DVDpublic void lendDVD() {System.out.println("请输入您要借的DVD的编号:");Scanner sc = new Scanner(System.in);String s = sc.next();if (searchID(s)) {for (int i = 0; i < dvds.length; i++) {if (dvds[i] == null) {break;} else if ((dvds[i].getId()).equals(s)) {if (dvds[i].isStatus()) {System.out.println("您所要借的DVD已被借出,请等待归还后再借,抱歉~");} else {System.out.println("借阅成功!!!");dvds[i].setStatus(true);Date d = new Date();// 获取当前时间dvds[i].setLendTime(d);//SimpleDateFormat  date=new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");//dvds[i].setLendTime(date.format(new Date()));}}}} else {System.out.println("您所要借的DVD不存在!!!");}}//归还DVDpublic void backDVD() {System.out.println("请输入您要归还的DVD的编号:");Scanner sc = new Scanner(System.in);String s = sc.next();if (searchID(s)) {for (int i = 0; i < dvds.length; i++) {if (dvds[i] == null) {break;} else if ((dvds[i].getId()).equals(s)) {if (!(dvds[i].isStatus())) {System.out.println("Error:你所归还的书籍未借出!");} else {System.out.println("归还成功!!!");dvds[i].setStatus(false);Date d = new Date();// 获取当前时间dvds[i].setReturnTime(d);//SimpleDateFormat  date=new SimpleDateFormat("yyyy-mm-dd         HH:mm:ss");//dvds[i].setLendTime(date.format(new Date()));}}}} else {System.out.println("您所要归还的DVD不存在!!!");}}//判断编号是否存在public Boolean searchID(String id) {for (int i = 0; i < dvds.length; i++) {if (dvds[i] == null ) {break;}else if ((dvds[i].getId()).equals(id)) {return true;}}return  false;}}

2020-09-07(基于控制台的DVD管理系统)相关推荐

  1. 基于控制台的药店管理系统

    基于控制台的药店管理系统 文章结构 一.开发框架及业务方向 1.开发环境 2.开发框架 3.整体业务 二.项目结构及页面展示 运行页面 源码下载 文章结构 一.开发框架及业务方向 1.开发环境 操作系 ...

  2. 软件测评师知识点(2020.09.07)

    开发过程模型 瀑布模型 简介: 将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品.其过程是将上一项活动的输出作为该项活动的输入,利用这一输入实施该项活动应完 ...

  3. Mybatis 和 Mybatis Plus 的区别 2020.09.07

    Mybatis Plus Mybatis-Plus是一个Mybatis的增强工具,只是在Mybatis的基础上做了增强却不做改变,MyBatis-Plus支持所有Mybatis原生的特性,所以引入My ...

  4. java超市管理系统_一个简单的基于控制台的超市管理系统(java)

    一个小菜鸟的成长之路: 废话不多说,直接上干货 首先是java环境:jdk1.10 jdbc驱动:mysql-connector-java-5.1.46.jar 其次是开发软件IntelliJ IDE ...

  5. RDKit | 基于RDKit(≥2020.09.1)的相似图绘制新方法

    导入库 from rdkit import Chem from rdkit.Chem import Draw from rdkit.Chem.Draw import SimilarityMaps fr ...

  6. 基于Java毕业设计志愿者管理系统演示录像2020源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计志愿者管理系统演示录像2020源码+系统+mysql+lw文档+部署软件 基于Java毕业设计志愿者管理系统演示录像2020源码+系统+mysql+lw文档+部署软件 本源码技术栈 ...

  7. java se +mysql——基于控制台实现简易餐厅管理系统

    基于控制台实现简易的餐厅管理系统,主要运用java se + mySQL 实现! 目录 一.建立三个实体类 二.创建三个接口 三.创建三个接口实现类 四.创建一个测试类 五.添加一个JDBC的工具类 ...

  8. 基于Java毕业设计迎新管理系统演示录像2020源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计迎新管理系统演示录像2020源码+系统+mysql+lw文档+部署软件 基于Java毕业设计迎新管理系统演示录像2020源码+系统+mysql+lw文档+部署软件 本源码技术栈: ...

  9. 基于SpringBoot的毕业论文管理系统的设计与实现(开题报告)

    基于Spring Boot的毕业论文管理系统 研究的背景与意义 随着信息化时代的到来,高校的管理工作也面临着信息化改革.目前,各大高校纷纷引入教务管理信息系统来加强和改善对学生.教师以及各种教务信息的 ...

  10. springboot基于spring的宽带管理系统以及实现毕业设计源码250910

    Springboot宽带管理系统 摘 要 进入21世纪以来,计算机有了迅速的发展.计算机应用.信息技术全面渗透到了人类社会的各个方面,信息化已成为世界经济和社会发展的大趋势.―企业的管理也从人工操作变 ...

最新文章

  1. python解多项式方程_python – SymPy不能求解四阶多项式方程
  2. gitzip没有作用以及github如何下载单个文件或目录
  3. MySQL数据库修改字段的长度
  4. VS2010解决方案不显示无法添加项目问题
  5. android 系统重启关机 方法 非常好的一篇文章
  6. isql导出表到文本
  7. [Linux C]重启设备(系统)
  8. CSS之background-origin属性
  9. HTTP_POST———使用mysql_udf与curl库完成http_post通信模块(mysql_udf,multi_curl,http,post)...
  10. android app 适应不同大小屏幕_移动APP测试:Android屏幕适配问题二
  11. Qt之模式、非模式、半模式对话框
  12. JavaScript之jQuery够用即可(事件委托、动画效果、扩展插件)
  13. UE4之vs2019IntelliSense错误
  14. java 购物系统代码_java购物系统源代码
  15. MxNet创建ILSVRC2012.rec文件
  16. c++小游戏——打飞机
  17. 写于即将23岁的前端转正前夕
  18. 通用管理平台GBase 8c Platform
  19. 【卷积神经网络环境搭建学习笔记】
  20. 计算机考研abc区划分,考研abc区有什么区别

热门文章

  1. Silverlight新型的富媒体
  2. C语言大一上学期总结
  3. 这有清理C盘空间的妙招,学会了就不怕内存满了
  4. Flash:动画实例--球体弹跳
  5. 尚硅谷MySQL基础学习笔记
  6. linux定时任务(crontab)
  7. matlab 最优资产组合,基于MATLAB的最优投资组合问题.pdf
  8. 【JavaScript】牛客编程:实现一个打点计时器
  9. Python报错集合篇7-KeyError: 1
  10. MySQL初始密码获取