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;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getState() {
		return state;
	}
	public void setState(int state) {
		this.state = state;
	}
	public String getDate() {
		return date;
	}
	public void setDate(String date) {
		this.date = date;
	}
	
	public int getCount() {
		return count;
	}
	public void setCount(int count) {
		this.count = count;
	}
	public DVDSet() {
		
				super();
				// TODO Auto-generated constructor stub
			
	}
	public DVDSet(String name, int state, String date,int count) {
		super();
		this.name = name;
		this.state = state;
		this.date = date;
		this.count = count;
		
	}
	
	

}

package com.xxx.dvd;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class DVDMgr {
	public DVDSet[] dvd = new DVDSet[100];
	
	public  void initial(){//初始化

		dvd[0] = new DVDSet("罗马假日",0,"2013-7-1",1);
		dvd[1] = new DVDSet("风声鹤唳",1,"",0);
		dvd[2] = new DVDSet("浪漫满屋",1,"",0);
	}
	//增加dvd
	public void addDvd(){
		Scanner sc = new Scanner(System.in);
		System.out.println("--->新增DVD");
		System.out.println("请输入DVD名称:");
		String name = sc.next();
		System.out.println("新增"+name+"成功!");
		int index;
		for (index = 0; index < dvd.length; index++) {
			if(dvd[index]==null){
				break;
			}
			
			}
		dvd[index]=new DVDSet(name,1,"",0);
		
	}
	//查看dvd
	public void ShowDvd(){
		System.out.println("--->查看书籍");
		System.out.println("序号"+"\t"+"名称"+"\t"+"状态"+"\t"+"借出日期");
		for (int i = 0; i < dvd.length; i++) {
    		if(dvd[i] != null){
    			if(dvd[i].getState()==1){
    				System.out.println(i+"\t"+dvd[i].getName()+"\t"+"可借"+"\t"+dvd[i].getDate());
    			}else{
    				System.out.println(i+"\t"+dvd[i].getName()+"\t"+"已借出"+"\t"+dvd[i].getDate());
    			}
    			
    		}
		}
	}
	//删除dvd
	public void deleteDvd(){
		System.out.println("--->删除DVD");
		Scanner sc = new Scanner(System.in);
		System.out.println("输入DVD名称");
		String dvdname = sc.nextLine();
		int index;//删除dvd的索引
		for (int i = 0; i < dvd.length; i++) {
			if(dvd[i].getName().equals(dvdname)){//找到要删除dvd的序列
				index = i;//序列赋值给index
				if(dvd[index].getState()==1){//判断是否借出
					int j=0;
					
					for (int k = 0; k < dvd.length; k++) {
						if(k!=index){
							dvd[j]=dvd[k];
							j++;
							
						}
					}
				}else{
					System.out.println("改dvd已经借出!无法删除");
				}
				break;
			}
		}
		System.out.println(dvdname+"删除成功!");
	}
	
	//借DVD
	public void borrowDVD(){
		
		Scanner sc = new Scanner(System.in);
		System.out.println("--->借出DVD");
		System.out.println("输入DVD名称:");
		String dvdname = sc.nextLine();
		
		try {
			for (int i = 0; i < dvd.length; i++) {
				
				if(dvd[i].name.equals(dvdname)){
					if(dvd[i].getState()==1){
						System.out.println("请输入借DVD日期:");
						String date = sc.nextLine();
						dvd[i].setState(0);
						dvd[i].setDate(date);
						System.out.println("借出"+dvdname+"成功!");
						int count = dvd[i].getCount();
						dvd[i].setCount(++count);
						
						break;
					}if(dvd[i].getState()==0){
						System.out.println("该DVD以借出!");
						break;
					}
					
				}
				
			}
		} catch (NullPointerException e) {
			e.printStackTrace();
		}
	}
	
	//归还DVD
	public void returnDvd() throws ParseException{
		int money;//租金
		Scanner sc = new Scanner(System.in);
		System.out.println("--->归还DVD");
		System.out.println("输入DVD名称:");
		String dvdname = sc.nextLine();
		try {
			for (int i = 0; i < dvd.length; i++) {
				if(dvd[i].name.equals(dvdname)){
					if(dvd[i].getState()==0){
						System.out.println("输入归还日期:");
						String retuenDate = sc.nextLine();
						dvd[i].setState(1);
						System.out.println("归还"+dvdname+"成功!");
						System.out.println("借出日期:"+retuenDate);
						System.out.println("归还日期:"+dvd[i].getDate());
						SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
						Date rdate = sdf.parse(retuenDate);//将输入的字符串转换为日期类型 还书日期
						Date bdate = sdf.parse(dvd[i].getDate());//借dvd日期
						long days=(rdate.getTime()-bdate.getTime())/(1000*3600*24);//计算借了多少天
						money = (int) (days*1);
						System.out.println("应付租金:"+money+"元");
						dvd[i].setDate("");
						break;
					}if(dvd[i].getState()==1){
						System.out.println("该DVD以借出!");
						break;
					}
					
				}
				
			}
		} catch (NullPointerException e) {
			e.printStackTrace();
		}
		
	}
	//借dvd次数排行榜
	public void maxCount(){
		System.out.println("dvd借出排行榜");
		System.out.println("---------------------");
		  for (int i=dvd.length-1;i>0;i--) {
			  if(dvd[i]!=null){
				  for (int j = 0; j < i; j++) {
						if(dvd[j]!=null){
							if(dvd[j].getCount()<dvd[j+1].getCount()){
								
								DVDSet[] temp = new DVDSet[100];
								temp[0] = dvd[j];
								dvd[j]=dvd[j+1];
								dvd[j+1]=temp[0];
								
							}
						}
						
					}
			  }
			
		}
	    System.out.println("dvd名"+"\t"+"次数");
		for (int i = 0; i < dvd.length; i++) {
			if(dvd[i]!=null){
				
				System.out.println(dvd[i].getName()+"\t"+dvd[i].getCount());
			}
			
		}
	}


}

package com.xxx.dvd;

import java.text.ParseException;
import java.util.Scanner;

public class Menu {
	
	
	
	public static void starMenu(DVDMgr dm){
		System.out.println("欢迎使用迷你DVD管理器");
		System.out.println("----------------------");
		System.out.println("0.DVD排行榜");
		System.out.println("1.新增DVD");
		System.out.println("2.查看DVD");
		System.out.println("3.删除DVD");
		System.out.println("4.借出DVD");
		System.out.println("5.归还DVD");
		System.out.println("6.退出");
		System.out.println("----------------------");
		showMenu(dm);
		
		
	}
	public static void showMenu(DVDMgr dm){
		
		Scanner sc = new Scanner(System.in);
		System.out.println("请选择:");
		int a = sc.nextInt();
		switch (a) {
		case 0://dvd借出排行榜
			dm.maxCount();
			returnMenu(dm);
			break;
		case 1://新增dvd
			dm.addDvd();
			returnMenu(dm);
			break;
		case 2://查看dvd
			dm.ShowDvd();
			returnMenu(dm);
			break;
		case 3://删除dvd
			dm.deleteDvd();
			returnMenu(dm);
			break;
		case 4://借出dvd
			dm.borrowDVD();
			returnMenu(dm);
			break;
		case 5://归还dvd
			try {
				dm.returnDvd();
			} catch (ParseException e) {
				
						// TODO Auto-generated catch block
						e.printStackTrace();
					
			}
			returnMenu(dm);
			break;
		case 6://退出
			System.out.println("谢谢使用!");
			break;

		default:
			break;
		}
	}
	
	public static void returnMenu(DVDMgr dm){
		System.out.println("输入0返回");
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		if(a==0){
			starMenu(dm);
		}else{
			System.out.println("系统退出!");
		}
	}

}

package com.xxx.dvd;

public class Test {

	public static void main(String[] args) {
		DVDMgr dm = new DVDMgr();
		dm.initial();
		Menu.starMenu(dm);

	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值