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

JAVA实战项目---DVD租赁管理系统 Java项目,我用的是自己的mysql数据库,用户和密码都是自己的,所以如果要运行,自己修改一下,当然借鉴是完全可以的 立即下载

功能介绍

  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("归还成功!");
	}
	
}
java入门项目DVD租赁管理系统 本项目通过对数据库的增删改查实现,管理员添加DVD、管理员修改DVD、管理员删除DVD、查看DVD、用户注册、用户租借DVD、用户还DVD、自动生成借还时间等功能,用swing搭建GUI界面,该项目几乎涵盖JAVASE所有知识,效果查看地址:https://blog.youkuaiyun.com/zouzong123/article/details/80888952 管理员账号:zyp 密码:1234 立即下载

相关推荐

java实现DVD租借

java实现面向对象迷你DVD管理器,纯面向对象的思想开发,小型项目,感兴趣的可以下载下看看!

Java基础阶段项目之DVD租赁

java初级阶段项目之DVD租赁(详细) 一:功能介绍 用户登录(有三次机会,分别有对应的提示) 输入错误时的提示: 登录成功: 查看所有的DVD数据信息: 添加DVD 查看新增的DVD 删除DVD 删除失败: 删除成功: 删除结果查询: 所有DVD数据集合中: ![查看删除结果](https://img-blog.csdnimg.cn/20190731184133953.png 新...

Light2Chasers的博客 1003

DVD租赁系统

该系统支持查看DVD目录,租赁记录,计算租赁花费

Java小程序,编写一个迷你DVD租借系统(控制台输出)

用Java编写一个迷你DVD租借系统 要求实现以下功能: 借出排行榜 新 增 DVD 查 看 DVD 删 除 DVD 借 出 DVD 归 还 DVD 退 出 需要编写三个类 - DVDSet类(定义存放的数据) - DVDFunction类(实现该程序的各个功能的方法) - DVDTest类(测试类) - calss DVDSet pack...

banmajio的博客 4015

DVD租赁管理系统

DVD租赁管理系统,使用了SQlite,并行编程,I/O视图窗口,反射,泛型等机制。 代码内有详细的注释,对java新手友好。内已包含所需要的数据库和jar包。有问题私信我

告别Mac自带终端:iTerm2 + Oh My Zsh 保姆级配置指南(含国内镜像源)

本文提供了一份详细的Mac终端优化指南,涵盖iTerm2、Oh My Zsh和Homebrew的配置流程,特别针对国内用户提供镜像源解决方案。通过安装现代化工具链和优化配置,帮助开发者打造高效、美观的终端工作环境,提升日常开发效率。

weixin_42638178的博客 397

java---编写汽车租赁系统

java—编写汽车租赁系统 题目要求: 1,汽车租赁信息表如下: 2,类和属性: 3,运行效果: 效果实现: 代码实现: 1,车类: package homework.exam; public abstract class Vehicle { private String num; private String brand; private double rent; public String getNum() { return num;

weixin_44889894的博客 9679

如何制作poster以及下载poster模板

目录 前言 一、poster 二、制作软件 1.常用软件 2.专用工具 3.模板下载网址 总结 前言 随着会议的发展,参与国际会议成为研究工作展示的重要途径。poster逐步成为一个方面专家交流的重要工具。本文主要简单介绍一些poster的制作工具。 一、poster Paper, presentation, poster是deadline期间作者的三座大山。poster的内容较小,但内容都是论文中的干货。 二、制作软件 一般来说,制作poster使用PowerPoint.

yiyang14的博客 2万+

Java 面向对象 dvd租赁功能

DVD 用面向对象的思想做DVD租赁系统 1.设计一个DVD类 属性应该有 名字,状态,借出日期.... 2.创建三本DVD 放到数组中(只需要一个数组) 3.6个功能要写成6个方法 在main方法中调用 DVD stu[ ]=new DVD[10] //创建一个DVD类型的数组 package com.tryy; public class dvd { ...

Half of if的博客 2739

车载与安防项目实战:如何用RK3588搭配NVP6158C实现4路AHD摄像头BT1120接入与同步预览

本文详细解析了基于RK3588处理器与NVP6158C解码芯片实现4路AHD摄像头BT1120接入与同步预览的技术方案。针对车载环视和安防监控场景,重点探讨了硬件架构设计、BT1120接口配置、多路同步机制及Android HAL适配等核心问题,提供了从底层驱动到上层应用的完整实现路径,为相关领域的工程实践提供可靠参考。

weixin_30571465的博客 484

火山引擎之火山方舟知识库+OpenWebUI,搭建独属于自己的AI智能客服

创建接入点,接入点名称可按个人需求而定,比如Doubao-1.5-pro-32k,在添加模型选择Doubao-1.5-pro-32k,点击确定(PS:有些模型不支持知识库,若发现后续无法选择,请重新创建推理接入点。选择应用广场,创建零代码应用,在创建好的应用设置内编辑相关信息,并选择推理接入点,即先前建好的推理接入点;此处的模型名称是火山的模型ID名称,可在OpenWebUI设置-模型 中修改名称。至此所需的apikey和模型ID和请求的api地址(可选配置,非本文重点参数)。进入火山官网,注册账号。

AmaZInGvCH的博客 2651

java租借dvd_DVD租赁系统

1 packagecom.dvd.view;23 importjava.awt.BorderLayout;4 importjava.awt.GridLayout;5 importjava.awt.event.ActionEvent;6 importjava.awt.event.ActionListener;7 importjava.awt.event.ItemEvent;8 importjava....

weixin_29239279的博客 506

最新2026年《网络数据安全风险评估办法》条款解读

大型企业集团IT变革下的零信任安全体系建设方案(55页).pptx。以数据安全为核心的安全立体防御体系解决方案(41页).pptx。让数据安全合规地创造价值(15页 PPT).pptx。大型集团数据安全应急预案(57页).docx。数据安全治理与评估服务业务介绍.pptx。数据安全管理实践(17页).pptx。大数据安全架构设计方案.pptx。大数据安全规划总体方案.pptx。数据库安全综合治理方案.pptx。医疗数据安全建设方案.pptx。数据安全框架规划图.pptx。数据安全治理方案.pptx。

cdfunlove的博客 47

java中dvd租赁项目_DVD租赁管理系统

【实例简介】DVD租赁管理系统,使用了SQlite,并行编程,I/O视图窗口,反射,泛型等机制。代码内有详细的注释,对java新手友好。内已包含所需要的数据库和jar包。有问题私信我【实例截图】【核心代码】DVDSystem└── DVDSystem├── bin│ ├── biz│ │ ├── DVDBiz.class│ │ ├── impl│ │ │ ├── D...

weixin_39842237的博客 479

Azure AI-102 认证全攻略: (二十八) 设置 Azure AI 服务 API

在本文中,您学习了如何通过 Azure 门户设置和管理 Azure AI 服务,以及如何通过编程方式访问这些服务。在这篇文章中,我们将深入探讨如何设置 Azure AI 服务,特别是如何通过 Azure API 来进行编程访问,以实现自动化和集成。通过本篇文章的学习,您不仅能够顺利完成 Azure AI-102 认证中的 API 配置和集成内容,还能高效地管理和优化 Azure AI 服务,构建稳定、可靠的 AI 应用。在成功设置并测试了 API 后,接下来要管理和维护您的 Azure AI 服务。

高校图书馆高级系统架构师/研究馆员,推动高校AI从概念演示到可评审、可交付、可运维:路线图与立项评审、PoC交付、评测回归与上线运维(Baseline/Eval/Ops)。 1445

基于STM32、HAL库的ICP-20100气压传感器 驱动程序设计

它具有低功耗、高精度、快速响应等特点,非常适合物联网、可穿戴设备和无人机等应用。#define ICP20100_FIFO_CTRL 0x09 // FIFO控制寄存器。#define ICP20100_FIFO_DATA 0x0A // FIFO数据寄存器。#define ICP20100_FIFO_STS 0x0B // FIFO状态寄存器。#define ICP20100_FIFO_WTM 0x15 // FIFO水印设置。

corlin6688的博客 599

Java迷你DVD管理系统

[code]package cn.practice.test; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Scanner; public class DVD_MS { /** * 迷你DVD管理系统 * @param args */ public st

qcd186的博客 5606

File Load Error for Untitled.ipynb Unhandled error 解决方案

本文主要介绍了File Load Error for Untitled.ipynb Unhandled error 解决方案,希望能对使用jupyter notebook的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 1万+

DVD项目: 用面向对象的思想做DVD租赁系统

package com.dvd; //属性(变量) 方法 public class DVD2 { //属性 private String name;//名字 private int status;//状态 0 可借 1 已借出 private int count;//借出次数 private int date;//借出日期 ...

wanghui1997108的博客 2257

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

DVD租赁小练习

DVD租赁项目 1.项目简介 crud DVD管理系统提供 新增DVD, 查看DVD , 删除DVD , 借出DVD, 归还DVD DVD管理系统与用户交互使用控制台输入 2. 需求分析 (1) DVD管理类: 向用户展示操作选项并判断用户操作 提供新增DVD,查看DVD,删除DVD,借出DVD,归还DVD (2) DVD类: 包含DVD名字,借出时间,借出次数,DVD状态 (3) D...

qq_16861187的博客 386

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

DVD租赁

public class Info { // 定义一个DVD的编号,名字,借阅的日期(后面赋值给个默认值就行了),借阅的状态(0为未借阅 1为已借出),被借过的次数(给个默认值) private int no; private String name; private int days; private int status; private int count; publi

zhuzhiqiang_is_zz的博客 1350

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

第8章 ——构建DVD租赁商店数据仓库

DVD租赁商店数据仓库系统构建

m0_73539526的博客 3645

java迷你DVD管理器

package com.xxx.dvd; public class DVDSet { public String name;//dvd名称 public int state;//dvd状态 public String date;//借dvd日期 public int count;//借DVD次数 public String getName() { return name; } ...

weixin_43970560的博客 2996

Java实战项目---DVD租赁系统

三层架构设计思想 通常意义上的三层架构就是将整个业务应用划分为:表现层,业务逻辑层、数据访问层。区分层次的目的即为了“高内聚,低耦合”的思想。1.表现层: 通俗讲就是展现给用户的界面,即用户在使用个 系统的时候他的所见所得。2.业务逻辑层: 针对具体问题的操作,也可以说是对数据层的 操作,对数据业务逻辑处理。3.数据访问层: 该层所做事务直接操作数据库,针对数据的增 添、删除、修改、更新、查找等...

a1376871144的博客 3445

java项目---迷你DVD

public class Start { public static void main(String[] args) { DVDMgr dm = new DVDMgr(); dm.initial(); dm.startMenu(); } } public class DVDSet { String[] name = new String[50];// 存储DVD名称

gengzhi1293443962的博客 5247

DVD出租系统 Java入门小项目

package July20th; import java.util.Scanner; public class Dvdmain { @SuppressWarnings("resource") public static void main(String[] args) { // TODO Auto-generated method stub Dvdshow shDvdshow = new...

qq_18313691的博客 796
上一篇: Java基础阶段项目之DVD租赁
图南1204
博客等级 码龄9年 21粉丝 118原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值