package 项目DVD;
//import java.sql.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Scanner;
/**
* 管理类
*/
public class Manageclass {
//创建DVD对象
Scanner input =new Scanner(System.in);
DVDclass dvd=new DVDclass();
//初始化3张DVD的信息
public void csz(){
dvd.name[0] = "备胎反击战";
dvd.state[0] = 0;
dvd.date[0] = "2015-11-06";
dvd.count[0] = 0;
dvd.name[1] = "煎饼侠";
dvd.state[1] = 1;
dvd.date[1] = "2015-7-17";
dvd.count[1] = 0;
dvd.name[2] = "夏洛特烦恼";
dvd.state[2] = 0;
dvd.date[2] = "2015-10-11";
dvd.count[2] = 0;
}
//首页展示
public void sy (){
System.out.println("**************************\n");
System.out.println("\t欢迎使用迷你 DVD 管理器");
System.out.println("**************************\n");
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("~~~~~~~~~~~~~~~~~~~~~~~~~~~");
System.out.println("请输入:");
int num=input.nextInt();
switch(num){
case 0:
list();
System.out.println("************************");
returnMian();
break;
case 1:
add();
System.out.println("************************");
returnMian();
break;
case 2:
search();
System.out.println("************************");
returnMian();
break;
case 3:
sc();
System.out.println("************************");
returnMian();
break;
case 4:
jc();
System.out.println("************************");
returnMian();
break;
case 5:
gh();
System.out.println("************************");
returnMian();
break;
case 6:
System.out.println("谢谢你的使用~~");
System.out.println("************************");
returnMian();
break;
}
}
//返回主菜单
public void returnMian(){
System.out.println("输入0返回:");
if(input.nextInt()==0){
sy ();
}else{
System.out.println("输入错误,异常终止~~");
}
}
//排行榜
public void list(){
String []newname=new String[50];//定义数组,显示DVD
int []newcount=new int[50];//累加借出次数
for (int i = 0; i < dvd.name.length; i++) {
newname[i]=dvd.name[i];
newcount[i]=dvd.count[i];
}
for (int i = 0; i < newname.length; i++) {
for (int j = i+1; j < newname.length; j++) {
if(newcount[i]>newcount[j]){
int temp=newcount[i];
newcount[i]=newcount[j];
newcount[j]=temp;
String temp1=newname[i];
newname[i]=newname[j];
newname[j]=temp1;
}
}
}
System.out.println("次数\t名称");
//逆序打出排行榜
for (int i = newname.length-1;i>=0; i--) {
if(newname[i]!=null){
System.out.println(newcount[i]+"\t《"+newname[i]+"》");
}
}
}
//新建光盘
public void add(){
System.out.println("-------------------------------------->新增DVD\n");
System.out.print("请输入DVD名称:");
for (int i = 0; i < dvd.name.length; i++) {
if (dvd.name[i] == null) {
dvd.name[i] = input.next();
System.out.print("请输入日期:");
dvd.date[i] = input.next();
dvd.state[i] = 1;
System.out.println(dvd.name[i] + "新增成功!");
break;
}
}
}
//查看租借信息
public void search(){
System.out.println("-------------------------------------->查看DVD\n");
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 sc(){
System.out.println("-------------------------------------->删除DVD\n");
System.out.println("请输入删除的名字:");
String s=input.next();
for (int i = 0; i < dvd.name.length; i++) {
if (dvd.name[i] != null && dvd.name[i].equals(s)
&& 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("删除"+"<<"+s+">>"+"成功~~");
returnMian();//标示位
break;
}else if(dvd.name[i]!=null
&&dvd.name[i].equalsIgnoreCase(s)&&dvd.state[i]==0){
System.out.println(dvd.name[i]+"为借出状态!");
returnMian();//标示位
}
}
}
//借出DVD
public void jc(){
System.out.println("-------------------------------------->借出DVD\n");
System.out.println("请输入DVD的名称:");
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.date[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;
}
}
}
//归还DVD
public void gh(){
System.out.println("-------------------------------------->归还DVD\n");
System.out.println("请输入DVD的名称:");
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] == 0) {
System.out.print("请输入归还的日期:");
String redate = input.next();
System.out.println(name + "归还成功!");
System.out.println("借出日期为:" + dvd.date[i]);
System.out.println("归还日期为:" + redate);
String d1 = dvd.date[i];
String d2 = redate;
long day = charge(d2, d1);
System.out.println("应付租金:" + day + "元");
dvd.date[i] = redate;
dvd.state[i] = 1;
break;
}else if(dvd.name[i].equals(name)&&dvd.state[i]==1){
System.out.println(name+"无该DVD,输入错误。");
break;
}
}
}
//计算时期差
/**
* @date01 第一个日期
* @date02 第二个日期
* @return charge 日期差
*/
public long charge(String date1,String date2){
long charge=0;//租金
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
try {
java.util.Date d1 =sd.parse(date1);
java.util.Date d2 =sd.parse(date2);
charge = (d1.getTime() - d2.getTime())/ (24 * 60 * 60 * 1000);
} catch (ParseException e) {
e.printStackTrace();
}
return charge;
}
}
package 项目DVD;
/**
*
* @author DVD类
*
*/
public class DVDclass {
String name[]=new String[50];//新增光盘存储
int state[]=new int[50];//存储DVD借出状态:0已借出1可借 //boolean state[]=new boolean[50];
String date[]=new String[50];//租出光盘日期
int count[]=new int[50];//记录借出次数
}
package 项目DVD;
/**
*
* @author 测试类
*
*/
public class DVDText {
public static void main(String[] args) {
Manageclass m=new Manageclass();
m.csz();
m.sy();
}
}