使用Java基础知识完成迷你DVD管理系统
涉及到三个类:
1.DVD信息类,存放DVD的基本信息
2.DVD操作类,进行系统的一些操作
3.登录注册类,只有完成了登录注册才能进入系统进行操作
由于时间关系,目前只是完成了正确的操作,并没有对一些错误进行处理,程序的健壮性不够好,等下一次会发布
实现效果图
1.DVD信息类
public class DVDInfo {
private int id;//序号
private String status;//状态
private String name;//名称
private String lend_data;//借出日期
private String return_data;//归还日期
public DVDInfo() {
super();
}
public DVDInfo(int id, String status, String name, String lend_data,String return_data) {
super();
this.id = id;
this.status = status;
this.name = name;
this.lend_data = lend_data;
this.return_data=return_data;
}
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 getLend_data() {
return lend_data;
}
public void setLend_data(String lend_data) {
this.lend_data = lend_data;
}
public String getReturn_data() {
return return_data;
}
public void setReturn_data(String return_data) {
this.return_data=return_data;
}
@Override
public String toString() {
String str=id+"\t"+status+"\t《"+name+"》\t\t"+lend_data;
return str;
}
}
2.DVD操作类
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
public class DVDOper {
static List<DVDInfo> list=new LinkedList<DVDInfo>();
Scanner in=new Scanner(System.in);
//使用空参构造器给迷你DVD管理系统初始化
public DVDOper(){
DVDInfo dvd1=new DVDInfo(1,"可借","罗马假日","","");
DVDInfo dvd2=new DVDInfo(2,"可借","风声鹤唳","","");
DVDInfo dvd3=new DVDInfo(3,"可借","天下无贼","","");
//用add()添加对象进数组
list.add(dvd1);
list.add(dvd2);
list.add(dvd3);
}
public void mainMenu() {
System.out.println("欢迎使用迷你DVD管理器");
System.out.println("------------------------------------------");
System.out.println("1.增加DVD\n2.查看DVD\n3.删除DVD\n4.借出DVD\n5.归还DVD\n6.退出");
System.out.println("------------------------------------------");
System.out.print("请选择:");
int num=in.nextInt();
switch(num) {
case 1:
newAddDVD();
returnMenu();
break;
case 2:
lookDVD();
returnMenu();
break;
case 3:
deleteDVD();
returnMenu();
break;
case 4:
lendDVD();
returnMenu();
break;
case 5:
returnDVD();
returnMenu();
break;
case 6:
System.out.print("是否要退出程序(Y/N):");
String answer=in.next();
if(answer.equalsIgnoreCase("Y")){
System.out.println("程序退出!");
System.exit(0);
}else {
returnMenu();
}
}
}
//新增DVD
public void newAddDVD() {
System.out.println("---> 新增DVD\n");
System.out.print("请输入DVD名称:");
String name=in.next();
for(int i=0;i<list.size();i++) {
if(list.get(i).getName().equals(name)) {
System.out.println("该DVD已经存在,不用再添加!");
return;
}
}
DVDInfo dvd=new DVDInfo(list.size()+1,"可借",name,"","");
list.add(dvd);
System.out.println("新增《"+name+"》成功!");
System.out.println("*******************************");
}
//查看DVD
public void lookDVD() {
System.out.println("序号"+"\t状态"+"\t名称"+"\t\t借出日期");
for(Object obj:list) {
System.out.println(obj);
}
}
//删除DVD
public void deleteDVD() {
System.out.println("---> 删除DVD\n");
System.out.print("请输入DVD名称:");
String name=in.next();
for(int i=0;i<list.size();i++) {
if(list.get(i).getStatus().equals("已借出")) {
System.out.println("《"+name+"》为借出状态,不能删除!");
System.out.println("*******************************");
return;
}else if(list.get(i).getName().equals(name)) {
list.remove(i);
System.out.println("删除《"+name+"》成功!");
System.out.println("*******************************");
}
}
}
//借出DVD
public void lendDVD() {
System.out.println("---> 借出DVD(一个月内)\n");
System.out.print("请输入DVD名称:");
String name=in.next();
System.out.print("请输入借出日期(年-月-日):");
String lend_data=in.next();
for(int i=0;i<list.size();i++) {
if(list.get(i).getName().equals(name)) {
list.get(i).setStatus("已借出");
list.get(i).setLend_data(lend_data);
System.out.println("借出《"+name+"》成功!");
System.out.println("*******************************");
}
}
}
//归还DVD
public void returnDVD() {
System.out.println("---> 归还DVD\n");
System.out.print("请输入DVD名称:");
String name=in.next();
System.out.println("请输入归还日期(年-月-日):");
String return_data=in.next();
for(int i=0;i<list.size();i++) {
if(list.get(i).getName().equals(name)) {
list.get(i).setStatus("可借");
list.get(i).setReturn_data(return_data);
System.out.println("归还《"+name+"》成功!");
System.out.println("借出日期为:"+list.get(i).getLend_data());
System.out.println("归还日期为:"+list.get(i).getReturn_data());
rent(name,return_data);
//在计算完租金之后将借出日期置于空
list.get(i).setLend_data("");
}
}
}
//计算租金方法
public void rent(String name,String return_data) {
for(int i=0;i<list.size();i++) {
if(list.get(i).getName().equals(name)) {
int n1=Integer.parseInt(list.get(i).getReturn_data().substring(7));
int n2=Integer.parseInt(list.get(i).getLend_data().substring(7));
System.out.println("应付租金(元):"+(n1-n2)*2);
}
}
}
//返回菜单方法
public void returnMenu() {
System.out.print("输入0返回:");
int num=in.nextInt();
if(num==0) {
return;
}
}
public static void main(String[] args) {
DVDOper oper=new DVDOper();
register regi=new register();
regi.view();
while(true) {
oper.mainMenu();
}
}
}
3.登录注册类
import java.util.Scanner;
public class register {
static Scanner in=new Scanner(System.in);
String account;//账号
String cypher;//密码
public register() {
}
public register(String account,String cypher) {
this.account=account;
this.cypher=cypher;
}
//view显示界面
public void view() {
register regi=new register("张美女","123456");
register regi1=new register("","");
System.out.println("欢迎使用迷你DVD管理器");
System.out.println("------------------------------------------\n");
System.out.println("---------------登录界面-------------------");
System.out.print("请选择登录操作(1.登录(已有账号)2.注册(没有账号)):");
int num=in.nextInt();
boolean isFlag=true;
while(isFlag) {
System.out.print("请输入用户名:");
String name=in.next();
System.out.print("请输入密码:");
String number=in.next();
switch(num) {
case 1:
if(regi.account.equals(name)||regi.cypher.equals(number)) {
System.out.println("登录成功!!!");
isFlag=false;
}if(regi1.account.equals(name)&®i1.cypher.equals(number)) {
System.out.println("登录成功!!!");
isFlag=false;
}else {
System.out.println("账号或密码输入错误,请重新输入");
}
break;
case 2:
regi1.account=name;
regi1.cypher=number;
System.out.println("注册成功,请重新登录");
System.out.print("请选择登录操作(1.登录(已有账号)2.注册(没有账号)):");
num=in.nextInt();
break;
}
}
}
}