迷你DVD
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的更多相关文章
- 迷你DVD管理器
import java.text.*; import java.util.*; class DVDSet { String[] name=new String[50]; //定义一个DVD数组 boo ...
- 迷你DVD管理器(Java版)
import java.text.SimpleDateFormat;import java.util.Date;import java.util.Scanner;class Test { pub ...
- 迷你DVD管理器项目
package chapter5; import java.util.*; public class MiniDVD { public static void main(String[] args){ ...
- java基础<迷你DVD系统>
一.写在main方法中 import java.util.*; public class MyDVDMgr { public static void main(String[] args){ Scan ...
- 5、判断、循环、数组综合练习案例(迷你DVD)
迷你dvd代码如下: package com.manager; import java.util.Scanner; public class DVDManage { public static voi ...
- java 迷你DVD管理器
1.DvdSet类 package dvd_01; /** * 定义dvd的一些属性 * @author Administrator * */ public class DvdSet { String ...
- 控制台输出<迷你DVD管理>
使用顺序.选择.循环.跳转语句 数组 功能实现菜单显示和切换 输入的数字不符合要求直接退出程序 用户可以选择新增.查看. 删除.借出.归还.退出 思路分析 使用switch语句实现菜单选择 使用do- ...
- JAVA基础代码分享--DVD管理
问题描述 为某音像店开发一个迷你DVD管理器,最多可存6张DVD,实现碟片的管理. 管理器具备的功能主要有: 1.查看DVD信息. 菜单选择查看功能,展示DVD的信息. 2.新增DVD信息 选择新增功 ...
- 如何用Java实现DVD的一些功能
/* 这个代码中涉及到的知识点很多,大家要慢慢悟!! */ import java.util.*; import java.text.*; class DvdSet { //定义三个属性 String ...
随机推荐
- Lateral Movement
简介 这次去宁夏护网,发现我有的朋友连最基本的横向渗透有些都不晓得,他们问我 我也表达不清楚...,就想着写篇文章总结下吧 (慢慢更..) 可以发我邮箱讨论:muxue@protonmail.com ...
- AQS学习(一)自旋锁原理介绍(为什么AQS底层使用自旋锁队列?)
1.什么是自旋锁? 自旋锁作为锁的一种,和互斥锁一样也是为了在并发环境下保护共享资源的一种锁机制.在任意时刻,只有一个执行单元能够获得锁. 互斥锁通常利用操作系统提供的线程阻塞/唤醒机制实现,在争用锁 ...
- Hello World!!
已经工作了一年多,现在才开始写博客.话说,种一棵树最好的时机是十年前,其次是现在,我觉得不迟.俗话说滴水穿石,我想把一些东西,都慢慢积累起来,看见自己的成长.既方便查看,更不容易忘记.可能在网上已经有 ...
- 了解cookie和storage的区别及优缺点
共同点:用于数据的存储. 区别: 1.是否需要添加到http请求头? HTTP Cookie(cookie):在客户端存储会话信息,要求服务器对任意HTTP请求发送set-cookie HTTP头作为 ...
- http扩展小插件
支持.net framework4.5.1,.net core2.0及以上 应用层需要引用包Kogel.Net,Nuget上可以下载安装. 或者使用Nuget命令添加包 Install-Package ...
- Java序列化bean保存到本地文件中
File file = new File("D:\\softTemp\\student.out"); ObjectOutputStream objectOutputStream = ...
- Linux系统管理命令-systemctl 和 sshd 服务
一系统服务管理命令systemctl 开启一个服务 : systemctl start sshd 关闭一个服务: systemctl stop sshd 查看一个服务的状态: systemctl st ...
- Socket编程 Tcp和粘包
大多数程序员都要接触网络编程,Web开发天天和http打交道.稍微底层一点的程序员,就是TCP/UDP . 对程序员来说,Tcp/udp的核心是Socket编程. 我的浅薄的观点---------理解 ...
- css - 样式 - 可见性
visibility 可见性 取值:visible(可见) | hidden(隐藏.保留占位) 设置给:块.行内块.行内元素 作用:设置元素在文档上的可见性 此属性只是隐藏元素,但会为元素保留占位. ...
- 分布式链路追踪系统Sleuth和ZipKin
1.微服务下的链路追踪讲解和重要性 简介:讲解什么是分布式链路追踪系统,及使用好处 进行日志埋点,各微服务追踪. 2.SpringCloud的链路追踪组件Sleuth 1.官方文档 http://cl ...