DVD租赁项目
1.项目简介 crud
- DVD管理系统提供 新增DVD, 查看DVD , 删除DVD , 借出DVD, 归还DVD
- DVD管理系统与用户交互使用控制台输入
2. 需求分析
(1) DVD管理类:
向用户展示操作选项并判断用户操作
提供新增DVD,查看DVD,删除DVD,借出DVD,归还DVD
(2) DVD类:
包含DVD名字,借出时间,借出次数,DVD状态
(3) DVDMain类
程序入口类,负责实例化DVD管理类
3.功能要求
3.1. 新增DVD
- 新增DVD 包含信息:
(1) DVD名字 (DVD的名字要保证在系统中是唯一的 输入如果重复 则提示重新输入)
(2) DVD状态 (0表示未借出 (默认值为 0) 1 表示 已借出)
(3) 借出时间 (默认为nul)
(4) 借出次数 (初始为0)
3.2. 查看DVD
- 展示 :
DVD的名字
DVD的借用次数
DVD的最后一次借用时间
DVD的状态
3.3.删除DVD
- 要求
由控制台 输入 要删除的DVD的名字,根据名字删除对应的DVD
3.4. 借出DVD
-
要求:
由控制台输入 要借出的DVD的名字 -
分析
先根据名字查询DVD的状态,
如果DVD的状态为 为 0则借出成功 并 让此DVD的借出次数加 1
如果 借出状态为 1则 为借出失败
3.5. 归还DVD
-
要求:
由控制台输入要归还的DVD设备的名称,
如果 此DVD 设备 的状态 为 1 则 可以归还成功,
如果状态 为0 则 不能归还成功
4.代码实现
剩余代码自己编写完成!
DVD类
/**
* DVD类
* 包含:
* DVD名字,
* 借出时间,
* 借出次数,
* DVD状态
*/
public class DVDClass {
String[] name = new String[10];//DVD名称数组
int[] state = new int[10]; //DVD借出状态:1已借出,0可借
String[] date = new String[10]; //DVD借出日期
int[] times = new int[10];//借出次数
}
DVDManage管理类
import java.util.Scanner;
/**
* * DVD管理类
* * 向用户展示操作选项并判断用户操作
* * 提供新增DVD,
* * 查看DVD,
* * 删除DVD,
* * 借出DVD,
* * 归还DVD
*
* @author Xin
* @Date 2019-07-23
* @Version 2.0
*/
public class DVDManage {
DVDClass dvd = new DVDClass();
Scanner sc = new Scanner(System.in);
//添加初始化数据
public void datas() {
dvd.name[0]="百变星君";
dvd.state[0]=1;
dvd.date[0]="2019-7-20";
dvd.times[0]=1;
dvd.name[1]="逃学威龙";
dvd.state[1]=0;
dvd.name[2]="澳门风云";
dvd.state[2]=0;
}
//新增DVD
// * 新增DVD 包含信息:
// * DVD名字 DVD的名字要保证在系统中是唯一的 输入如果重复 则提示重新输入,
// * 借出时间 为null ,
// * 借出次数 为 0,
// * DVD状态 (0表示未借出 (默认值为 0) 1 表示 已借出))
public void add() {
int i;
System.out.print("输入新增DVD信息:");
String sname = sc.nextLine();
if ( sname == null|| sname.isEmpty()) {
System.out.println("请输入内容");
}else{
for (i = 0; i < dvd.name.length; i++) {
if (dvd.name[i] == null ) {//找到空的添加
dvd.name[i] = sname;
dvd.state[i] = 0;
dvd.date[i] = null;
dvd.times[i] = 0;
System.out.println("添加 " + sname + " 成功");
break;
}
if (dvd.name[i].equals(sname)) {
System.out.println("此DVD已存在");
break;
}
}
if (i == dvd.name.length) {
System.out.println("添加失败");
}
}
}
//查看DVD
// * 展示 :
// * DVD的名字
// * DVD的借用次数
// * DVD的最后一次借用时间
// * DVD的状态
public void search(){
int i;
System.out.println("序号\t名称\t状态\t借出日期\t借出次数");
for (i = 0; i < dvd.name.length; i++) {
if (dvd.name[i] != null) {
if (dvd.state[i] == 0) {
System.out.println((i+1)+"\t"+dvd.name[i]+"\t"+
"未借"+"\t"+dvd.date[i]+"\t\t"+dvd.times[i]);
}else {
System.out.println((i + 1) + "\t" + dvd.name[i] + "\t" +
"已借" + "\t" + dvd.date[i] + "\t" + dvd.times[i]);
}
}
}
}
//删除DVD
// * 要求由控制台 输入 要删除的DVD的名字,根据名字删除对应的DVD
public void delete(){
int j;
System.out.print("输入想要删除的DVD名字:");
String name = sc.nextLine();
for ( j = 0; j < dvd.name.length; j++) {
if (dvd.name[j] != null && dvd.name[j].equals(name)) {
if (dvd.state[j] == 0) {//未借出
dvd.name[j] = dvd.name[j+1];
dvd.name[j+1] = null;
dvd.state[j] = dvd.state[j+1];
dvd.state[j+1] = 0;
dvd.date[j] = dvd.date[j+1];
dvd.date[j+1] = null;
dvd.times[j] = dvd.times[j+1];
dvd.times[j+1] = 0;
System.out.println("删除成功");
break;
}else{
System.out.println("已借出,无法删除");
break;
}
}
}
if (j == dvd.name.length) {
System.out.println("未找到你要删除的DVD");
}
}
//借出DVD
// * 要求由控制台输入 要借出的DVD的名字,
// * 先根据名字查询DVD的状态,如果DVD的状态为 为 0则借出成功 并 让此DVD的借出次数加 1
// * 如果 借出状态为 1则 为借出失败
public void rent(){
boolean judge = true;
int i;
System.out.print("输入要借的DVD名称:");
String name = sc.nextLine();
for (i = 0; i < dvd.name.length; i++) {
if(dvd.name[i] != null && dvd.name[i].equals(name)){
if (dvd.state[i] == 0) {//可借
System.out.print("输入借出日期:");
String date = sc.nextLine();
dvd.state[i] = 1;//状态改变
dvd.date[i] = date;
dvd.times[i]++;
System.out.println("借出成功");
break;
}else{
System.out.println("已借出,不可借");
break;
}
}
}
if (i == dvd.name.length) {
System.out.println("未找到此DVD");
}
}
//归还DVD
// * 由控制台输入要归还的DVD设备 的名称,
// * 如果 此DVD 设备 的状态 为 1 则 可以归还成功,
// * 如果状态 为0 则 不能归还成功
public void back(){
System.out.print("输入要归还的DVD名称:");
int i;
String name = sc.nextLine();
for ( i = 0; i < dvd.name.length; i++) {
if (dvd.name[i] != null && dvd.name[i].equals(name)) {
if (dvd.state[i] == 1) {//已借出
dvd.state[i] = 0;//状态改变
dvd.date[i] = null;
System.out.println("归还成功");
break;
}else {
System.out.println("归还失败");
break;
}
}
}
if (i == dvd.name.length) {
System.out.println("未找到此DVD");
}
}
}
DVDClass main实现类
import java.util.Scanner;
/**
* DVDClass main实现类
* 程序入口类,负责实例化DVD管理类
*/
public class DVDMain {
public static void main(String[] args) {
start();
}
//start菜单
public static void start(){
DVDManage dmg = new DVDManage();
dmg.datas();
boolean judge = true;
while(judge){
System.out.println("请选择你要执行的操作:1.新增DVD 2.查看DVD 3.删除DVD 4.借出DVD 5.归还DVD 0.退出");
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
if ( input.equals("0")) {
input = "6";
}
switch (input){
case "1":
dmg.add();
break;
case "2":
dmg.search();
break;
case "3":
dmg.delete();
break;
case "4":
dmg.rent();
break;
case "5":
dmg.back();
break;
case "6":
judge = false;
System.out.println("下次再来啊~");
break;
default:
System.out.println("输入不正确");
break;
}
}
}
}