public class DVD {
private int ID;//id
private String status;//状态
private String name;//名称
private String date;//借出日期
private int count;//次数 @Override
public String toString() {
return "DVD{" +
"ID=" + ID +
", status='" + status + '\'' +
", name='" + name + '\'' +
", date='" + date + '\'' +
", count=" + count +
'}';
} public DVD() {
} public DVD(int ID, String status, String name, String date, int count) {
this.ID = ID;
this.status = status;
this.name = name;
this.date = date;
this.count = count;
} public int getID() {
return ID;
} public void setID(int ID) {
this.ID = ID;
} public String getStatus() {
return status;
} public void setStatus(String status) {
this.status = status;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getDate() {
return date;
} public void setDate(String date) {
this.date = date;
} public int getCount() {
return count;
} public void setCount(int count) {
this.count = count;
}
}
package com.zhiyou1002;

import jdk.nashorn.internal.ir.IfNode;

import java.text.SimpleDateFormat;
import java.util.Date; /**
* @author shkstart
* 工厂
*/
public class Factories { DVD[] dvds = new DVD[20]; /**
* 利用构造器给DVD初始化
*/
public Factories() {
dvds[0] = new DVD(1, "以借出", "小王子", "2020年10月07日", 999);
dvds[1] = new DVD(2, "可借", "朝花夕拾", "\t\t\t", 999);
dvds[2] = new DVD(3, "可借", "罗马假日", "\t\t\t", 1);
dvds[3] = new DVD(4, "可借", "风声鹤唳", "\t\t\t", 1);
dvds[4] = new DVD(5, "可借", "浪漫满屋", "\t\t\t", 1);
} /**
* 查看
*/
public void show() {
System.out.println("序号\t状态\t\t\t名称\t\t借出日期\t\t\t借出次数");
for (int i = 0; i < dvds.length; i++) {
if (dvds[i] != null) {
System.out.println(dvds[i].getID() + "\t" + dvds[i].getStatus() + "\t\t" + dvds[i].getName() + "\t\t" + dvds[i].getDate() + "\t" + dvds[i].getCount());
}
}
} /**
* 判断ID是否重复
*
* @param id
*/
public boolean add_1(int id) {
boolean find = false;
for (int i = 0; i < dvds.length; i++) {
if (dvds[i] != null) {
if (dvds[i].getID() == id) {
find = false;
break;
} else {
//确定id不重复
find = true;
}
}
}
return find;
} /**
* 判断书是否重复
*
* @param name
* @return
*/
public boolean add_2(String name) {
boolean find = false;
for (int i = 0; i < dvds.length; i++) {
if (dvds[i] != null) {
if (dvds[i].getName().equals(name)) {
find = false;
break;
} else {
//确定id不重复
find = true;
}
}
}
return find;
} /**
* 新增
*
* @param id
* @param name
*/
public void add(int id, String name) {
for (int i = 0; i < dvds.length; i++) {
if (dvds[i] == null) {
dvds[i] = new DVD(id, "可借", name, "\t\t\t", 0);
System.out.println("新增图书成功!");
break;
}
}
} /**
* 借出
*
* @param name
*/
public void lend(String name) {
boolean find = false;
for (int i = 0; i < dvds.length; i++) {
if (dvds[i] != null) {
//判断是否有这本书
if (dvds[i].getName().equals(name)) {//找到书籍
System.out.println("找到此书");
find = true;
//判断是否可借
if (dvds[i].getStatus().equals("可借")) { //借出次数加1
dvds[i].setCount(dvds[i].getCount() + 1);
//设置日期
SimpleDateFormat time = new SimpleDateFormat("yyyy年MM月dd日");
Date date = new Date();
String format = time.format(date);
dvds[i].setDate(format);
//设置状态
dvds[i].setStatus("以借出");
System.out.println("成功借出!");
} else {
System.out.println("此书以借出");
}
}
}
}
if (find) { } else {
System.out.println("未找到!");
}
} /**
* 删除
*
* @param id
*/
public void delete(int id) {
boolean find = false;
int index = -1;
for (int i = 0; i < dvds.length; i++) { if (dvds[i] != null) {
if (dvds[i].getID() == id) {
// dvds[i] = null;
// index = i;
index = i;
find = true;
}
}
//前一个向前移动1为
if (find && index != -1&&index<dvds.length-1) {
dvds[index] = dvds[index + 1];
index++;
}
}
if (find) {
System.out.println("删除成功!");
} else {
System.out.println("删除失败!");
}
} /**
* 归还
*/
public void returns(String name) {
boolean find = false;
for (int i = 0; i < dvds.length; i++) {
if (dvds[i].getName().equals(name)) {
if (dvds[i].getStatus().equals("以借出")) { dvds[i].setDate("\t\t\t");//更改日期
dvds[i].setStatus("可借");//更改状态 find = true;
break;
} else {
System.out.println("此书已经存在!");
break;
} }
}
if (find) {
System.out.println("归还成功!");
} else {
System.out.println("输入错误!");
}
} }
package com.zhiyou1002;

import java.util.Scanner;

/**
* @author shkstart
* 测试类
*/
public class Text {
public static void main(String[] args) {
Factories factories = new Factories();
Scanner sc = new Scanner(System.in);
dd:
while (true) {
System.out.println("欢迎使用迷你DVD管理器");
System.out.println("************************************************");
System.out.println("<1>新增DVD " + "<2>查看DVD " + "<3>删除DVD " + "<4>借出DVD " + "<5>归还DVD " + "<6>退出DVD ");
System.out.println("************************************************");
int num = sc.nextInt();
switch (num) {
case 1:
System.out.println("➴➵新增DVD");
System.out.println("请输DVD的ID:");
int id = sc.nextInt();
boolean b = factories.add_1(id);
// System.out.println("b = " + b);
if (b) {
System.out.println("请输DVD名称:");
String name = sc.next();
boolean b1 = factories.add_2(name);
// System.out.println("b1 = " + b1);
if (b1) {
factories.add(id, name);
} else {
System.out.println("此书已经存在!");
} } else {
System.out.println("ID已经存在");
} break;
case 2:
System.out.println("➶➷查看DVD");
factories.show(); break;
case 3:
System.out.println("➶➷删除DVD");
System.out.println("请输入要删除的DVD的ID:");
int id2 = sc.nextInt();
factories.delete(id2); break;
case 4:
System.out.println("➶➷借出DVD");
System.out.println("请输入你要借出的DVD名字:");
String name2 = sc.next();
factories.lend(name2); break;
case 5:
System.out.println("➶➷归还DVD");
System.out.println("请输入要归还的DVD的名字:");
String name3 = sc.next();
factories.returns(name3); break;
case 6: break dd;
default:
System.out.println("输入错误!"); } }
System.out.println("谢谢惠顾!"); }
}

迷你DVD的更多相关文章

  1. 迷你DVD管理器

    import java.text.*; import java.util.*; class DVDSet { String[] name=new String[50]; //定义一个DVD数组 boo ...

  2. 迷你DVD管理器(Java版)

    import java.text.SimpleDateFormat;import java.util.Date;import java.util.Scanner;class Test {    pub ...

  3. 迷你DVD管理器项目

    package chapter5; import java.util.*; public class MiniDVD { public static void main(String[] args){ ...

  4. java基础<迷你DVD系统>

    一.写在main方法中 import java.util.*; public class MyDVDMgr { public static void main(String[] args){ Scan ...

  5. 5、判断、循环、数组综合练习案例(迷你DVD)

    迷你dvd代码如下: package com.manager; import java.util.Scanner; public class DVDManage { public static voi ...

  6. java 迷你DVD管理器

    1.DvdSet类 package dvd_01; /** * 定义dvd的一些属性 * @author Administrator * */ public class DvdSet { String ...

  7. 控制台输出<迷你DVD管理>

    使用顺序.选择.循环.跳转语句 数组 功能实现菜单显示和切换 输入的数字不符合要求直接退出程序 用户可以选择新增.查看. 删除.借出.归还.退出 思路分析 使用switch语句实现菜单选择 使用do- ...

  8. JAVA基础代码分享--DVD管理

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

  9. 如何用Java实现DVD的一些功能

    /* 这个代码中涉及到的知识点很多,大家要慢慢悟!! */ import java.util.*; import java.text.*; class DvdSet { //定义三个属性 String ...

随机推荐

  1. mybatis中Oracle及mysql插入时自动生成主键以及返回主键

    mysql的方式: 方式一: useGeneratedKeys="true" keyProperty="id" 方式二: <selectKey keyPr ...

  2. DL基础补全计划(六)---卷积和池化

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  3. 服务器put请求获取不到参数

    问题 put请求参数映射成实体类 而参数似乎接受不到,服务器识别为null 解决 在参数前边加上RequestBody @RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请 ...

  4. HCNA Routing&Switching之地址转换技术NAT

    前文我们了解了包过滤工具ACL相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15156308.html:今天我们来聊一聊地址转换技术NAT相关话题: ...

  5. DVWA靶场之SQL injection(blind)通关

    盲注,顾名思义,无法从界面上直接查看到执行结果,一般的SQL注入基本绝迹,最多的就是盲注 基本步骤:(由于没有回显了,相比一般的SQL注入,也就不需要确定查询字段数.判断回显位置了) 判断注入类型 破 ...

  6. xv6学习笔记(4) : 进程调度

    xv6学习笔记(4) : 进程 xv6所有程序都是单进程.单线程程序.要明白这个概念才好继续往下看 1. XV6中进程相关的数据结构 在XV6中,与进程有关的数据结构如下 // Per-process ...

  7. redis支持的数据类型有哪些?

    string,list,hash,set,zset 底层实现数据结构 数据结构 String sds struct sdshdr{ //等于 SDS 保存字符串的长度 int len; //记录 bu ...

  8. map中使用箭头函数遇到的坑

    箭头函数提供了更简洁和更短的语法,其中一个可用功能是可以将函数编写为具有隐式返回值的lambda表达式.这对于功能样式代码很方便,比如使用函数映射数组: const numbers = [1,2,3, ...

  9. 基于WindowsService的WebSocket编程Demo

    一.什么是WebSocket WebSocket协议是基于TCP的一种新的网络协议.它实现了浏览器与服务器全双工(full-duplex)通信--允许服务器主动发送信息给客户端.说了半天也就是说有了它 ...

  10. 异步编程之EAP

    一.概述 前面我们了解到了APM编程模式,但APM不支持对异步操作的取消和没有提供对进度报告的功能. 对于界面程序来说,进度报告和取消操作的支持也是必不可少的,为了支持这些功能,微软在.NET 2.0 ...