<pre class="java" name="code">public class Star {
public static void main(String[] args) {
DVDMgr dm=new DVDMgr();
dm.initial();
dm.startMenu();
}
}
package com.gd.text;
public class DVDSet {
String[] name=new String[50];
int[] state=new int[50];
String[] date=new String[50];
int[] count=new int[50];
}
package com.gd.text;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
public class DVDMgr {
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;
dvd.count[0] = 0;
}
public void startMenu() {
Scanner input = new Scanner(System.in);
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 choice = input.nextInt();
switch (choice) {
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;
}
}
public void returnMain() {
Scanner input = new Scanner(System.in);
System.out.print("输入0返回: ");
if (input.nextInt() == 0) {
startMenu();
} else {
System.out.println("输出错误,异常终止");
}
}
public void add() {
Scanner input = new Scanner(System.in);
System.out.print("请输入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;
break;
}
}
System.out.println("新增<<" + name + ">>成功");
}
public void search() {
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 boolean delete() {
Scanner input = new Scanner(System.in);
boolean flag = false;
System.out.print("请输入DVD名称: ");
String name = input.next();
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 = 1;
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("删除 <<" + 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 == false){
System.out.println("未找到该DVD");
}
}
}
public void lend() {
Scanner input = new Scanner(System.in);
System.out.print("请输入DVD名称: ");
String want = 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].equalsIgnoreCase(want) && dvd.state[i] == 1) {
System.out.print("请输入借出日期(年-月-日): ");
dvd.date[i] = input.next();
dvd.count[i]++;
System.out.println("借出<<" + want + ">>成功");
dvd.state[i] = 0;
break;
} else if (dvd.name[i].equalsIgnoreCase(want) && dvd.state[i] == 0) {
System.out.println("<<" + want + ">>已借出");
break;
}
}
}
public void returnDvd() {
Scanner input = new Scanner(System.in);
System.out.print("请输入DVD名称: ");
String retu = 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].equalsIgnoreCase(retu) && dvd.state[i] == 0) {
System.out.print("请输入归还日期(年-月-日): ");
String date = input.next();
money = charge(dvd.date[i], date);
System.out.println("\n<<" + retu + ">>归还成功!");
System.out.println("借出日期为:" + dvd.date[i]);
System.out.println("还书日期为:" + date);
System.out.println("应付租金(1元/天)" + money);
System.out.println("归还<<" + retu + ">>成功");
dvd.state[i]=0;
dvd.date[i]="";
break;
} else if (dvd.name[i].equalsIgnoreCase(retu) && dvd.state[i] == 1) {
System.out.println("<<" + retu + ">>未借出");
break;
}
}
}
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;
}
}