项目案例: 迷你DVD管理器

package com.ss;

public class DVDSet {
String[] name=new String[50]; //DVD名称
int[] state=new int[50];      //DVD借出状态   0已借出    1可借
String[] time=new String[50]; //DVD借出日期
int[] count=new int[50];      //DVD借出次数
}


package com.ss;

import java.util.*;

import java.text.*;

public class DVDMag {
	DVDSet dvd = new DVDSet();

	public void initial() {
		dvd.name[0] = "罗马假日";
		dvd.state[0] = 0;
		dvd.time[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("\t1.新增DVD");
		System.out.println("\t2.查看DVD");
		System.out.println("\t3.删除DVD");
		System.out.println("\t4.借出DVD");
		System.out.println("\t5.归还DVD");
		System.out.println("\t6.退出");
		System.out.println("请选择:");
		Scanner input = new Scanner(System.in);
		int shu = input.nextInt();
		switch (shu) {
		case 0:
			ph();
			break;
		case 1:
			xz();
			break;
		case 2:
			ck();
			break;
		case 3:
			sc();
			break;
		case 4:
			jc();
			break;
		case 5:
			gh();
			break;
		case 6:
			System.out.println("谢谢使用!");
			break;
		default:
			System.out.println("您的输入有误,请重新输入:");
			returnmain();
		}
	}

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

	public void ph() {
		String ph[] = new String[50];
		int count[] = new int[50];
		for (int i = 0; i < dvd.name.length; i++) {
			ph[i] = dvd.name[i];
			count[i] = dvd.count[i];
		}
		for (int i = 0; i < ph.length; i++) {
			for (int j = i + 1; j < ph.length; j++) {
				if (count[i] > count[j]) {
					int k = count[i];
					count[i] = count[j];
					count[j] = k;

					String m = ph[i];
					ph[i] = ph[j];
					ph[j] = m;
				}
			}
		}
		System.out.println("--->排行榜");
		System.out.println("**********************************");
		System.out.println("名次\t名称");
		for (int i = ph.length - 1; i >= 0; i--) {
			if (ph[i] != null) {
				System.out.println(count[i] + "\t<<" + ph[i] + ">>");
			}
		}
		System.out.println("****************************************");
		returnmain();
	}

	public void xz() {
		System.out.println("--->新增DVD");
		Scanner input = new Scanner(System.in);
		System.out.println("请输入DVD的名称:");
		String name = input.next();
		for (int i = 0; i < dvd.name.length; i++) {
			if (dvd.name[i] == null) {
				dvd.name[i] = name;
				dvd.state[i] = 1;
				dvd.time[i] = "";
				System.out.println("新增<<" + name + ">>成功!");
				break;
			}
		}
		System.out.println("*****************************************");
		returnmain();
	}

	public void ck() {
		System.out.println("--->查看DVD");
		System.out.println("序号\t\t状态\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.time[i]);
			} else if (dvd.state[i] == 1) {
				System.out.println((i + 1) + "\t可借\t" + dvd.name[i] + ">>");
			}
		}
		System.out.println("*********************************************");
		returnmain();
		;
	}

	public void sc() {
		System.out.println("--->删除DVD");
		Scanner input = new Scanner(System.in);
		System.out.println("请输入DVD名称:");
		String name = input.next();
		boolean flag = false;
		for (int i = 0; i < dvd.name.length; i++) {
			if (dvd.name[i] != null && dvd.name[i].equalsIgnoreCase(name)
					&& 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.time[j] = dvd.time[j + 1];
					j++;
				}       //最后一个不为空的元素置空
				dvd.name[j] = null;
				dvd.time[j] = null;
				System.out.println("删除<<" + name + ">>成功!");
				flag = true;  //标识符
				break;
			} else if (dvd.name[i] != null
					&& dvd.name[i].equalsIgnoreCase(name) && dvd.state[i] == 0) {
				System.out.println("<<" + name + ">>借出状态,不能删除!");
				flag = true;
				break;
			}
			if (flag == true) {
				System.out.println("没有找到匹配信息!");
			}
		}
		System.out.println("******************************************");
		returnmain();
	}

	public void jc() {
		System.out.println("--->借出DVD");
		System.out.println("请输入DVD的名称:");
		Scanner input = new Scanner(System.in);
		String name = 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(name) && dvd.state[i] == 1) {
				System.out.println("请输入借出日期(年-月-日:)");
				dvd.time[i] = input.next();
				System.out.println("<<" + name + ">>借出成功!");
				dvd.state[i] = 0;
				dvd.count[i]++;
				break;
			} else if (dvd.name[i].equals(name) && dvd.state[i] == 0) {
				System.out.println("不好意思,<<" + name + ">>已被借出!");
				break;
			}
		}
		System.out.println("********************************");
		returnmain();
	}

	public void gh() {
		System.out.println("--->归还DVD");
		System.out.println("请输入DVD名称:");
		Scanner input = new Scanner(System.in);
		String name = input.next();
		long zj = 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(name) && dvd.state[i] == 0) {
				System.out.println("请输入归还日期:");
				String re = input.next();
				zj = charge(dvd.time[i], re);
				System.out.println("<<" + name + ">>归还成功!");
				dvd.state[i] = 1;
				System.out.println("借出日期为:" + dvd.time[i]);
				System.out.println("归还日期为:" + re);
				System.out.println("应付租金(元):" + zj);
				break;
			} else if (dvd.name[i].equals(name) && dvd.state[i] == i) {
				System.out.println("没有被借出,无法进行归还操作!");
				break;
			}
		}
		System.out.println("*****************************************");
		returnmain();
	}
                    //计算日期差
       	private 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 com.ss;

public class DVDout {
public static void main(String[] args) {
	DVDMag dm=new DVDMag();
	dm.initial();
	dm.startMenu();
}
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
package 第三章; import java.util.Scanner; public class DVD管理器 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int end=0; //名称,状态,借出日期,借出次数, String name[] =new String[50]; name[0]="三国演义"; name[1]="盗墓笔记"; name[2]="傻子上学"; boolean state[] = new boolean[50]; state[0]=true; state[1]=false; state[2]=true; int date [] = new int[50]; date[0]=0; date[1]=5; date[2]=0; int count[] = new int[50]; count[0]=12; count[1]=0; count[2]=1; String zeng; int dates; do{ System.out.println("欢迎使用迷你DVD管理器"); System.out.println("-------------------------"); 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.退出DVD"); System.out.println("-------------------------"); System.out.print("请选择:"); int index=-1; switch(input.nextInt()){ case 1: System.out.println("-->新增DVD"); System.out.print("请输入书名:"); for(int i=0;i<name.length-1;i++){ if(name[i]==null){ index=i; break; } } if(index!=-1){ name[index]=input.next(); state[index]=true; count[index]=0; date[index]=0; System.out.println("新增《"+name[index]+"》成功"); } System.out.println("**************************"); System.out.println("输入0返回"); break; case 2: System.out.println("-->查看DVD"); System.out.println("序号"+"\t"+"状态"+"\t"+" "+"名称"+"\t"+" "+"借出日期"+"\t"+" "+"借出次数"); for(int i=0;i<name.length-1;i++){ if(name[i]==null)break; System.out.print(+(i+1)+"\t"); System.out.print(state[i]==true?"可借阅"+" ":"已借阅"+" "); System.out.print("《"+name[i]+"》"+"\t"); System.out.print(" "+date[i]+"日"+"\t"); System.out.print(count[i]+"次"+"\t"+"\n"); } System.out.println("**************************"); System.out.println("输入0返回"); break; case 3: System.out.println("-->删除DVD"); System.out.print("请输入书名:"); zeng=input.next(); for(int i=0;i<name.length-1;i++){ if(name[i]==null){ System.out.println("这本本书不是我们的,无法删除"); break; } else if(name[i].equals(zeng) && state[i]==false){ System.out.println("找到您要找的书了,但是已借阅无法删除"); break; } else if(name[i].equals(zeng) && state[i]==true){ index=i; System.out.println("删除《"+zeng+"》成功"); break; } } if(index!=-1){ for(int i=index;i<name.length-1;i++){ name[i]=name[i+1]; } name[name.length-1]=null; } else System.out.println("没有您要找的书"); System.out.println("**************************"); System.out.println("输入0返回"); break; case 4: System.out.println("-->借出DVD"); System.out.print("请输入书名:"); zeng=input.next(); for(int i=0;i<name.length-1;i++){ if(name[i]==null){ System.out.println("没有找到您要找的书无法借出"); break; }else if(name[i].equals(zeng) && state[i]==false){ System.out.println("找到您要找的书了,但是库存只有一本已借阅"); break; }else if(name[i].equals(zeng) && state[i]==true){ System.out.print("借出日期:"); dates=input.nextInt(); while(dates<1 || dates>31){ if(dates<1 ||dates>31) System.out.println("请重新输入一月为1~31"); dates=input.nextInt(); } System.out.println("借阅《"+zeng+"》成功"); state[i]=false; date[i]=dates; count[i]++; break; } } System.out.println("**************************"); System.out.println("输入0返回"); break; case 5: System.out.println("-->归还DVD"); System.out.print("请输入书名:"); zeng=input.next(); int jing=0; for(int i=0;i<name.length-1;i++){ if(name[i]==null){ System.out.println("这不是我们的书无需归还"); break; }else if(name[i].equals(zeng) && state[i]==true){ System.out.println("找到您要找的书了,但是未借阅不需要归还"); break; }else if(name[i].equals(zeng) && state[i]==false){ System.out.print("归还日期:"); dates=input.nextInt(); while(dates<1 || dates>31 || dates<date[i]){ if(dates<1 ||dates>31){ System.out.println("输入格式有问题请重新输入一月为1~31"); dates=input.nextInt(); } else if(dates<date[i]){ System.out.println("归还日期必须大于借出日期"); dates=input.nextInt(); } } state[i]=true; jing=(dates-date[i])*1; System.out.println("借阅时间为:"+date[i]); System.out.println("归还时间为:"+dates); System.out.println("借阅租金为:"+jing); System.out.println("归还《"+zeng+"》成功"); date[i]=0; break; } } System.out.println("**************************"); System.out.println("输入0返回"); break; case 6: System.out.println("谢谢使用"); return; } end =input.nextInt(); }while(end==0); } }

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值