迷你DVD管理系统---Java基本

使用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)&&regi1.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;
			}
		}
		
	}
	
	
}

  • 8
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值