Java基础阶段小项目之DVD租赁(修正版)

本文介绍了一个基于Java的DVD租赁系统,包括登录功能、按借出次数降序查看DVD、添加和删除DVD、借出和归还操作。主要涉及三个类:DvdMain、DvdManagement和Dvd。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

功能介绍

  1. 登录
    登录失败:
    登录失败
    登录成功:
    登录成功
  2. 查看DVD
    查看DVD
  3. 查看借出列表(以借出次数降序)
    借出列表
  4. 添加DVD
    添加DVD
  5. 删除DVD
    删除失败
    删除成功
  6. 借出DVD
    不存在
    借出成功
    已被借出
  7. 退出
    退出

**============================================================================================**

代码

代码有三个类。
其中主类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("归还成功!");
	}
	
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值