功能介绍
- 登录
登录失败:
登录成功:
- 查看DVD
- 查看借出列表(以借出次数降序)
- 添加DVD
- 删除DVD
- 借出DVD
- 退出
**============================================================================================**
代码
代码有三个类。
其中主类DvdMain()用来完成主要操作,调用主要方法。
DvdManagement()执行登录,初始化,查看DVD,查看借出列表,新增DVD,删除DVD,借出DVD,归还DVD的操作。
Dvd()类主要用来描述属性。
直接上代码啦!
DvdMain()类
public class DvdMain {
public static void main(String[] args) {
//登录
dvdManagement.userAdmin();
//如果登录成功,则进行后续操作
if(dvdManagement.flag==false)
dvdManagement.menu();
}
}
Dvd()类
public class Dvd {
//
private String dvdName;
private String hireDate;
private int hireCounts;
private String dvdStatus;
//无参的构造方法
public dvd() {
}
//有参的构造方法
public dvd(String dvdName, String dvdStatus,String hireDate, int hireCounts) {
this.dvdName = dvdName;
this.hireDate = hireDate;
this.hireCounts = hireCounts;
this.dvdStatus = dvdStatus;
}
//获取和设置各个变量
public String getDvdName() {
return dvdName;
}
public void setDvdName(String dvdName) {
this.dvdName = dvdName;
}
public String getHireDate() {
return hireDate;
}
public void setHireDate(String hireDate) {
this.hireDate = hireDate;
}
public int getHireCounts() {
return hireCounts;
}
public void setHireCounts(int hireCounts) {
this.hireCounts = hireCounts;
}
public String getDvdStatus() {
return dvdStatus;
}
public void setDvdStatus(String dvdStatus) {
this.dvdStatus = dvdStatus;
}
}
DvdManagement()类
import java.util.Scanner;
public class DvdManagement {
static int cnt=0;
static dvd[] d =new dvd[100];
static Scanner sc=new Scanner(System.in);
static boolean flag=true;//用来判断登录是否成功
//登录功能
public static void userAdmin() {
String username="admin";
String password="123456";
for(int i=0;i<3;i++){
System.out.println("请输入您的用户名:");
String strUsername=sc.nextLine();
System.out.println("请输入您的密码:");
String strPassword=sc.nextLine();
if(strUsername.equals(username)&&strPassword.equals(password)) {
System.out.println("-—\t欢迎来到闵小太阳DVD租赁屋\t-—");
flag=false;
break;
}
else {
if(i<2)System.out.println("您输入的信息有误,您还有"+(2-i)+"次机会!");
}
}
if(flag)System.out.println("您的账号已锁定,请联系管理员!");
}
//主菜单完成
public static void menu() {
//初始化
initDvd();
while(true) {
System.out.println("请输入您想要进行的操作:");
System.out.println("1:查看所有的DVD");
System.out.println("2:查看借出列表");
System.out.println("3:添加DVD");
System.out.println("4:删除DVD");
System.out.println("5:借出DVD");
System.out.println("6:归还DVD");
System.out.println("7:退出");
Scanner sc=new Scanner(System.in);
int operationNumber=sc.nextInt();
boolean flag=false;
switch( operationNumber) {
case 1:checkAllDVD(); break;
case 2:loanListDVD(); break;
case 3:addDVD(); break;
case 4:removeDVD(); break;
case 5:rentDVD(); break;
case 6:returnDVD(); break;
case 7:
default:System.out.println("谢谢您的使用!QAQ");
System.exit(0); break;
//(java虚拟机退出)JVM退出
}
}
}
//初始化完成
private static void initDvd() {
d[0]=new dvd("星际穿越","未借出","0000/00/00",123);
d[1]=new dvd("千与千寻","已借出","2019/12/06",200);
d[2]=new dvd("微微一笑","已借出","2018/11/01",20);
d[3]=new dvd("乘风破浪","未借出","0000/00/00",30);
d[4]=new dvd("天下无贼","已借出","2016/02/28",166);
cnt=5;
}
//查看完成
private static void checkAllDVD() {
System.out.println("查看当前的DVD");
System.out.println("DVD名称\t\t借出状态\t借出日期\t\t借出状态");
for(int i=0;i<cnt;i++)
System.out.println(d[i].getDvdName()+"\t\t"+d[i].getDvdStatus()+"\t"+d[i].getHireDate()+"\t"+d[i].getHireCounts());
}
//借出列表
private static void loanListDVD() {
System.out.println("借出列表");
System.out.println("DVD名称\t\t借出状态\t借出日期\t\t借出状态");
dvd t=new dvd();
for(int i=0;i<cnt-1;i++)
for(int j=i;j<cnt;j++)
if(d[i].getHireCounts()<d[j].getHireCounts()) {
t=d[i];
d[i]=d[j];
d[j]=t;
}
for(int i=0;i<cnt;i++)
if(d[i].getDvdStatus().equals("已借出"))
System.out.println(d[i].getDvdName()+"\t\t"+d[i].getDvdStatus()+"\t"+d[i].getHireDate()+"\t"+d[i].getHireCounts());
}
//添加DVD完成
private static void addDVD() {
System.out.println("请输入您想要添加的DVD名称");
String name=sc.nextLine();
d[cnt++]=new dvd(name,"未借出","0000/00/00",0);
System.out.println("添加成功!");
}
//删除DVD
private static void removeDVD() {
boolean removeFlag=false;
System.out.println("请您输入想要删除的DVD名字");
String name=sc.nextLine();
int index=-1,i;
for(i=0;i<cnt;i++)
if(d[i].getDvdName().equals(name)) {
index=i;
if(d[i].getDvdStatus()=="未借出") {
removeFlag=true;
for(int j=i;j<cnt;j++)
d[i]=d[i+1];
cnt--;
}
else System.out.println("您想要删除的DVD已借出!");
break;
}
if(index==-1)
System.out.println("对不起!您想要删除的DVD不存在!");
else {
if(removeFlag)System.out.println("删除成功!");
}
}
//借出DVD
private static void rentDVD() {
boolean rentFlag=false;
System.out.println("请输入您想要借的DVD名称");
String name=sc.nextLine();
int index=-1;
for(int i=0;i<cnt;i++)
if(d[i].getDvdName().equals(name)) {
index=i;
if(d[i].getDvdStatus()=="未借出") {
rentFlag=true;
d[i]=new dvd(d[i].getDvdName(),"已借出","2016/06/26",d[i].getHireCounts()+1);
}
else
System.out.println("对不起!您想要借出的DVD已被借出");
break;
}
if(index==-1)
System.out.println("对不起!您想要借出的DVD不存在!");
else {
if(rentFlag)System.out.println("借出成功,请到相应位置取您的DVD!");
}
}
//归还DVD pass
private static void returnDVD() {
System.out.println("请输入您想要归还的DVD");
String name=sc.nextLine();
for(int i=0;i<cnt;i++)
if(d[i].getDvdName().equals(name)) {
d[i].setDvdStatus("未借出");
d[i].setHireDate("0000/00/00");
break;
}
System.out.println("归还成功!");
}
}