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();
}
}
加强版迷你DVD管理器
最新推荐文章于 2024-03-23 11:42:25 发布