加强版迷你DVD管理器

package DVD;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;

public class DvDMgr {
	Scanner input = new Scanner(System.in);
	DVDSet dvd = new DVDSet();

	public void initial() {
		dvd.name[0] = "罗马假日";
		dvd.state[0] = 0;
		dvd.date[0] = "2013-7-1";
		dvd.name[1] = "风声鹤唳";
		dvd.state[1] = 1;
		dvd.name[2] = "浪漫满屋";
		dvd.state[2] = 1;
	}

	public void startMenu() {
		System.out.println("欢迎使用迷你DVD管理器");
		System.out
				.println("------------------------------------------------------------------------------------");
		System.out.println("0.借出排行榜");
		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("请选择您要输入的数字:");
		int choice = input.nextInt();
		switch (choice) {
		case 0:
			System.out.println("--->排行榜");
			System.out.println("************************");
			System.out.println("次数\t\t名称");
			list();
		case 1:
			System.out.println("此处实现新增DVD");
			add();
			System.out.println("**************************************");

			returnMain();
			break;
		case 2:
			System.out.println("此处实现查看DVD");
			search();
			System.out.println("**************************************");

			returnMain();
			break;
		case 3:
			System.out.println("此处实现删除DVD");
			delete();
			System.out.println("**************************************");

			returnMain();
			break;
		case 4:
			System.out.println("此处实现接出DVD");
			lend();
			System.out.println("**************************************");

			returnMain();
			break;
		case 5:
			System.out.println("此处实现归还DVD");
			returnDvd();
			System.out.println("**************************************");

			returnMain();
			break;
		case 6:
			System.out.println("谢谢使用!");
			break;
		default:
			System.out.println("输入错误,请重新输入数字.");

		}
	}

	public void returnMain() {
		System.out.println("输入0返回:");
		int num = input.nextInt();
		if (num == 0) {
			startMenu();
		} else {
			System.out.println("输入错误,异常终止!");
		}
	}

	public void list() {
		String newname[] = new String[100];
		int newcount[] = new int[100];
		newname = dvd.name;
		newcount = dvd.count;
		for (int i = 0; i < newname.length - 1; i++) {
			for (int j = 0; j < newname.length - 1 - i; j++) {
				if (newcount[i] > newcount[j]) {
					int x = newcount[i];
					newcount[i] = newcount[j];
					newcount[j] = x;
					String y = newname[i];
					newname[i] = newname[j];
					newname[j] = y;

				}
			}
		}
	}

	public void search() {
		System.out.println("序号\t状态\t名称\t\t借出日期");
		for (int i = 0; i < dvd.name.length; i++) {
			if (dvd.name[i] == null) {
				break;
			} else if (dvd.state[i] == 0) {
				System.out.println((i + 1) + "\t以借出\t" + "<<" + dvd.name[i]
						+ ">>\t" + dvd.date[i]);
			} else if (dvd.state[i] == 1) {
				System.out.println((i + 1) + "\t可惜\t" + "<<" + dvd.name[i]
						+ ">>");
			}
		}
	}

	public void add() {
		System.out.println("\n请输入DVD名称");
		String name1 = input.next();
		for (int i = 0; i < dvd.name.length; i++) {
			if (dvd.name[i] == null) {
				dvd.name[i] = name1;
				dvd.date[i] = "";
				dvd.state[i] = 1;
				System.out.println("新增" + name1 + "成功!");
				break;
			}
		}

	}

	public void delete() {
		boolean flag = false;
		System.out.println("请输入DVD名称:");
		String name2 = input.next();
		for (int i = 0; i < dvd.name.length; i++) {
			if (dvd.name[i] != null && dvd.name[i].equalsIgnoreCase(name2)
					&& dvd.state[i] == 1) {
				int j = i;
				while (dvd.name[j + 1] != null) {
					dvd.name[j] = dvd.name[j + 1];
					dvd.state[j] = dvd.state[j + 1];
					dvd.date[j] = dvd.date[j + 1];
					j++;
				}
				dvd.name[j] = null;
				dvd.date[j] = null;
				System.out.println("删除<<" + name2 + ">>成功!");
				flag = true;
				break;
			} else if (dvd.name[i] != null
					&& dvd.name[i].equalsIgnoreCase(name2) && dvd.state[i] == 0) {
				System.out.println("<<" + name2 + ">>位借出状态,不能删除!");
				flag = true;
				break;
			}
		}
	}

	public void lend() {
		System.out.println("请输入DVD名称:");
		String name3 = input.next();
		for (int i = 0; i < dvd.name.length; i++) {
			if (dvd.name[i] == null) {
				System.out.println("没有找到匹配信息!");
				break;
			} else if (dvd.name[i].equals(name3) && dvd.state[i] == 1) {
				System.out.println("请输入借出日期(年-月-日):");
				dvd.date[i] = input.next();
				System.out.println("<<" + name3 + ">>借出成功!");
				dvd.state[i] = 0;
				dvd.count[i]++;
				break;
			} else if (dvd.name[i].equals(name3) && dvd.state[i] == 0) {
				System.out.println("不好意思<<" + name3 + ">>已被借出!");
				break;
			}
		}
	}

	public void returnDvd() {
		System.out.println("请输入DVD名称:");
		String name4 = input.next();
		double money = 0;
		for (int i = 0; i < dvd.name.length; i++) {
			if (dvd.name[i] == null) {
				System.out.println("没有找到匹配的信息!");
				break;
			} else if (dvd.name[i].equals(name4) && dvd.state[i] == 0) {
				System.out.println("请输入归还日期(年-月-日):");
				String year = input.next();
				money = charge(dvd.date[i], year);
				System.out.println("\n<<" + name4 + ">>归还成功!");
				dvd.state[i]=1;
				System.out.println("借出日期为:" + dvd.date[i]);
				System.out.println("还书日期为:" + year);
				System.out.println("应付租金(1元/天)" + money);
				break;

			} else if (dvd.name[i].equals(name4) && dvd.state[i] == 1) {
				System.out.println("<<" + name4 + ">>没有被借出,无法归还");
			}
		}
	}

	public long charge(String dstr1, String dstr2) {
		long charge = 0;
		SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
		try {
			Date d1 = sd.parse(dstr1);
			Date d2 = sd.parse(dstr2);
			charge = (d2.getTime() - d1.getTime()) / (24 * 60 * 60 * 1000);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return charge;
	}
}





package DVD;

public class DVDSet {

	

		String[] name = new String[50];// 存储DVD名称
		int[] state = new int[50];// 存储DVD借出状态
		String[] date = new String[50];// 存储DVD借出日期
		int[] count = new int[100];// 储存借出次数
	}








package DVD;

public class Start {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		DvDMgr dm=new DvDMgr();
		dm.initial();
		dm.startMenu();
	}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值