实现数据初始化
实现菜单切换
实现查看DVD信息
实现新增DVD信息
实现删除DVD信息
实现借出DVD业务处理
实现归还DVD业务处理
import java.util.Scanner;
* @ClassName DVDMgr
* @Description: TODO
* @Author ZK
* @Date 2020/7/13 21:56
* @Version V1.0
public class DVDMgr {
public static void main(String[] args) {
//名称:name[i]
//状态:state[i]
//借出日期:date[i]
//借出次数:count[i]
String[] name = new String[7]; //存储DVD名称
int[] state = new int[7]; //存储DVD借出状态:0已借出/1可借
int[] date = new int[7]; //存储DVD借出日期
int[] count = new int[7]; //存储DVD借出次数
//初始化信息
name[0] = "罗马假日";
name[1] = "风声鹤唳";
name[2] = "浪漫星空";
state[0] = 0;
state[1] = 1;
state[2] = 1;
date[0] = 1;
count[0] = 10;
count[1] = 12;
count[2] = 11;
Scanner in = new Scanner(System.in);
//定义选择数字
int num = 0;
//定义推出标识
boolean flag = true;
System.out.println("欢迎使用迷你DVD管理系统");
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("- - - - - - - - - - - - - - - - - - - - - - - - - - - - ");
System.out.print("请选择:");
num = in.nextInt();
switch (num) {
case 1:
insertDVD(name, state);
break;
case 2:
checkDVD(name, state, date, count);
break;
case 3:
deleteDVD(name, state, date, count);
break;
case 4:
lend_outDVD(name, state, date, count);
break;
case 5:
returnDVD(name, state, date);
break;
case 6:
flag = false;
break;
default:
break;
} while (flag);
//新增DVD
public static void insertDVD(String[] name, int[] state) {
System.out.println("====》增加DVD");
Scanner in = new Scanner(System.in);
System.out.println("请输入新增DVD的名字:");
String new_name = in.next();
for (int i = 0; i < name.length; i++) {
if (name[i] == null && i < 6) {
name[i] = new_name;
state[i] = 1;
System.out.println("新增DVD《" + new_name + "》成功!");
System.out.println("- - - - - - - - - - - - - - - - - - - - - - - - - - - - ");
break;
} else if (i >= 6) {
System.out.println("货架已经存满!!!");
break;
//下边是返回控制
int num = 0;
boolean flag = true;
System.out.println("输入0返回:");
num = in.nextInt();
switch (num) {
case 0:
flag = false;
break;
default:
System.out.println("输入0返回:");
break;
} while (flag);
//查看DVD
public static void checkDVD(String[] name, int[] state, int[] date, int[] count) {
System.out.println("====>查看DVD");
String Sstate = null;
System.out.println("序号 状态 名称 借出日期 借出次数");
for (int i = 0; i < name.length; i++) {
if (name[i] != null) {
System.out.print(i + " ");
Sstate = (state[i] == 0) ? "借出" : "可借";
System.out.print(Sstate + " ");
System.out.print("《" + name[i] + "》 ");
if (date[i] == 0) {
System.out.print(" ");
} else {
System.out.print(date[i] + "日 ");
System.out.print(count[i] + "次 ");
} else
break;
System.out.println();
//下边是返回控制
Scanner in = new Scanner(System.in);
int num = 0;
boolean flag = true;
System.out.println("输入0返回:");
num = in.nextInt();
switch (num) {
case 0:
flag = false;
break;
default:
break;
} while (flag);
//删除DVD
public static void deleteDVD(String[] name, int[] state, int[] date, int[] count) {
System.out.println("====》删除DVD");
Scanner in = new Scanner(System.in);
System.out.println("请输入删除DVD的名字:");
String new_name = in.next();
for (int i = 0; i < name.length; i++) {
if (name[i] != null && name[i].equals(new_name) && i < 6) {
if (state[i] == 0) {
System.out.println("《" + new_name + "》DVD被借出,不能删除");
} else {
name[i] = new_name;
for (int j = i + 1; j < name.length; j++) {
name[j - 1] = name[j];
date[j - 1] = date[j];
count[j - 1] = count[j];
System.out.println("删除DVD《" + new_name + "》成功!");
System.out.println("- - - - - - - - - - - - - - - - - - - - - - - - - - - - ");
break;
if (i >= 6 || name[i] == null) {
System.out.println("没有名为《" + new_name + "》这个DVD!!");
break;
//下边是返回控制
int num = 0;
boolean flag = true;
System.out.println("输入0返回:");
num = in.nextInt();
switch (num) {
case 0:
flag = false;
break;
default:
break;
} while (flag);
//借出DVD
public static void lend_outDVD(String[] name, int[] state, int[] date, int[] count) {
System.out.println("====》借出DVD");
Scanner in = new Scanner(System.in);
System.out.print("请输入借出DVD的名字:");
String new_name = in.next();
for (int i = 0; i < name.length; i++) {
if (name[i] != null && name[i].equals(new_name) && i < 6) {
if (state[i] == 0) {
System.out.println("《" + new_name + "》DVD被借出,不能再借出!!!");
} else {
boolean falg = false;
System.out.print("请输入借出日期:");
int new_date = 0;
new_date = in.nextInt();
if (new_date > 31 || new_date < 1) {
System.out.print("您输入的日期有问题!!!,请您重新输入日期:");
falg = true;
}else
falg = false;
} while (falg);
state[i] = 0;
date[i] = new_date;
count[i] += 1;
System.out.println("借出DVD《" + new_name + "》成功!");
System.out.println("- - - - - - - - - - - - - - - - - - - - - - - - - - - - ");
break;
if (i >= 6 || name[i] == null) {
System.out.println("没有名为《" + new_name + "》这个DVD!!");
break;
//下边是返回控制
int num = 0;
boolean flag = true;
System.out.println("输入0返回:");
num = in.nextInt();
switch (num) {
case 0:
flag = false;
break;
default:
break;
} while (flag);
//归还DVD
public static void returnDVD(String[] name, int[] state, int[] date) {
System.out.println("====>归还DVD");
Scanner in = new Scanner(System.in);
System.out.print("请输入归还DVD的名字:");
String new_name = in.next();
for (int i = 0; i < name.length; i++) {
if (name[i] != null && name[i].equals(new_name) && i < 6) {
if (state[i] == 1) {
System.out.println("《" + new_name + "》DVD未借出!!!");
} else {
boolean falg = false;
System.out.print("请输入归还日期:");
int new_date = 0;
new_date = in.nextInt();
if (new_date > 31 || new_date < 1) {
System.out.print("您输入的日期有问题!!!,请您重新输入日期:");
falg = true;
}else
falg = false;
} while (falg);
state[i] = 1;
System.out.println("归还DVD《" + new_name + "》成功!");
System.out.println("借出日期是"+date[i]+"日");
System.out.println("归还日期是"+new_date+"日");
int rental = 2*Math.abs(new_date-date[i]);
date[i] = 0;
System.out.println( "应付租金(元)"+rental);
System.out.println("- - - - - - - - - - - - - - - - - - - - - - - - - - - - ");
break;
if (i >= 6 || name[i] == null) {
System.out.println("没有名为《" + new_name + "》这个DVD!!");
break;
//下边是返回控制
int num = 0;
boolean flag = true;
System.out.println("输入0返回:");
num = in.nextInt();
switch (num) {
case 0:
flag = false;
break;
default:
break;
} while (flag);
实现数据初始化实现菜单切换实现查看DVD信息实现新增DVD信息实现删除DVD信息实现借出DVD业务处理实现归还DVD业务处理import java.util.Scanner;/** * @ClassName DVDMgr * @Description: TODO * @Author ZK * @Date 2020/7/13 21:56 * @Version V1.0 **/public class DVDMgr { public static void main(
public class BaseDaoImpl<T> {
protected List<T> read(File file) {
FileInputStream fis = null;
ObjectInputStream ois = null;
List<T> list = new ArrayList<>();
try {
if(!file.exists()){
file.createNewFile();// 首次运行,文件不存在,需要自动创建
fis = new FileInputStream(file);
ois = new ObjectInputStream(fis);
list = (List<T>) ois.readObject();// 第一次运行时,文件中没有数据,会抛异常 EOF
} catch(EOFException e){
System.err.println("首次运行,不要紧张");
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
if(ois != null){
try {
ois.close();
} catch (IOException e) {
e.printStackTrace();
return list;
protected boolean write(List<T> list, File file) {
FileOutputStream fos = null;
ObjectOutputStream oos = null;
try {
fos = new FileOutputStream(file);
oos = new ObjectOutputStream(fos);
oos.writeObject(list);
return true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if(oos != null){
try {
oos.close();
} catch (IOException e) {
e.printStackTrace();
return false;
效果查看地址:http://blog.csdn.net/qq_36326947/article/details/78234330
系统采用c/s架构,不是简单的单机版!
当然,你可以服务端、客户端都在同一台电脑上运行;
也可以在同一局域网内服务端、客户端在不同电脑上运行;
如果你有服务器,可将Service端代码部署至服务器上,客户端在自己电脑上运行!
通过此项目,可以学习了解到C/S模式、java Swing图形界面编程、java 多线程、java Socket网络编程、java对数据库的操作等知识。
Springboot 教室租借管理系统是一种基于Springboot框架下开发的教室资源管理系统。该系统主要实现了教室租借的功能,可以让用户自主选择需要租用的教室,并且可以直接预约该教室,方便快捷。同时,用户可以在该系统中进行账号注册与登录,使用该系统的权限受到有效控制。
Springboot 教室租借管理系统的特点是方便快捷,易于操作。 系统UI简洁美观,支持快速查询和筛选,提高了系统的使用效率。同时,系统功能完善,用户租借教室可以根据时间段进行细致的划分,避免了资源的过度浪费。此外,还支持对教室使用情况的统计和分析,可以为学校教室管理部门提供很好的数据支持。
另一方面,Springboot教室租借管理系统的开发难度较低,便于团队协作与维护。该系统的代码结构清晰易懂,易于维护和扩展。此外,由于有大量的第三方组件可以使用,开发人员可以快速实现我们想要的功能,有助于减少时间和成本的投入。
总之,Springboot 教室租借管理系统是一款非常适合学校资源管理的系统,具有可扩展性和稳定性。 他大大提高了教室使用率,方便了广大教职工和学生租借教室的流程,是一个具有非常高实用价值的系统。