提交 ff5ec9fb 编写于 作者: weixin_48085883's avatar weixin_48085883

更新DVDTest.java

上级
package Max;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class DVDTest {
static class DVDSet {
int[] no = new int[50];// 序号
String[] name = new String[50];// DVD名字
String[] state = new String[50];// DVD状态
String[] time = new String[50]; // 借出日期
String times="null";
int s=0;//获取到下标
int[] count = new int[50];// 记录被借出次数,用于排行榜中
}
static class DVDFunction {
Scanner sc = new Scanner(System.in);
DVDSet set = new DVDSet();// 实例化DVDSet类
// 主界面 show()方法
public void show() {
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. 退 出");
System.out.println("-----------------------");
}
// 添加DVD add()方法
public void add(String DVDName) {
// 找到第一个为空的数组,将新增的DVD添加进去
int i;
for (i = 0; i < set.name.length; i++) {
if (set.name[i] == null) {// 成功添加
set.name[i] = DVDName;
set.no[i] = i;
set.state[i] = "可借";
set.time[i] = " ";
set.count[i] = 0;
System.out.println("新增《" + DVDName + "》成功!");
System.out.println("*********************");
break;
}
}
}
// 删除功能的实现
public void delete(String DVDName) {
int i=0;
for (i = 0; i < set.name.length; i++) {
if (set.name[i] != null && set.name[i].equals(DVDName)) {
if (set.state[i].equals("已借出")) {
System.out.println("书本还未归还无法删除");
}else {
for (int j = i+1; j < set.name.length-1; j++) {
set.name[j - 1] = set.name[j];
set.state[j - 1] = set.state[j];
set.time[j - 1] = set.time[j];
int no = set.name.length - 1;
set.name[no] = null;
set.state[no] = null;
set.time[no] = null;
}
System.out.println("删除完成");
break;
}
}
}if (i == set.name.length) {
System.out.println("没有找到:" + DVDName + "!");
System.out.println("*********************");
}
}
// 查看DVD examine()方法
public void examine(){
System.out.println("序号\t状态\t名 称\t借出日期");
// 将DVD循环输出
for (int i = 0; i < set.name.length; i++) {
if (set.name[i] != null) {
System.out.println((set.no[i] + 1) + "\t\t" + set.state[i] + "\t《" + set.name[i] + "》\t" + set.time[i]);
}
}
System.out.println("*********************");
}
// 借出DVD borrow()方法
public void borrow(String DVDName) {
int i;
for (i = 0; i < set.name.length; i++) {
if (set.name[i] != null && set.name[i].equals(DVDName)) {
if (set.state[i].equals("可借")) {
set.state[i] = "已借出";// 标记借书状态为 已借出
set.count[i]++;
System.out.print("请输入借出日期(年-月-日):");
set.time[i] = sc.next();
System.out.println("借出《" + set.name[i] + "》成功!");
System.out.println("*********************");
break;
} else {
System.out.println("《" + set.name[i] + "》为借出状态!");
break;
}
}
}
if (i == set.name.length) {
System.out.println("没有找到:" + DVDName + "!");
System.out.println("*********************");
}
}
//归还returnDvd()方法
public void returnDvd(String DVDName) throws ParseException {
int i=0;
for( i=0;i<set.name.length;i++){
if(set.name[i] != null && set.name[i].equals(DVDName)){
if (set.state[i].equals("已借出")){
set.state[i] = "可借";//归还后恢复书本可借出状态
System.out.print("请输入归还日期(年-月-日):");
set.times = sc.next();//获取到归还日期
//插入一个判定 是否为借出日期之前
DateFormat df = DateFormat.getDateInstance();
df= new SimpleDateFormat("yyyy-MM-dd");
Date date_1 = df.parse(set.time[i]);
Date date_2 = df.parse(set.times);
long time1 = date_1.getTime();
long time2 = date_2.getTime();
long time3 = Math.abs(time1-time2);
int day = getDay(time3);
System.out.println("归还《"+set.name[i]+"》成功!");
System.out.println("借出日期为:"+set.time[i]);
System.out.println("归还日期为:"+set.times);
System.out.println("两日期相隔:"+day+"天");
System.out.println("应付租金(元):"+day*1);
break;//直接跳出 获取到i的值
}
}
}if (i ==set.name.length) {//没找到返回提示消息
System.out.println("没有找到:" + DVDName + "!");
}
System.out.println("*********************");
}//将获取的时间转化为天数
private static int getDay(long time)
{
int day = (int)(time/1000/60/60/24);
return day;
}
// 退出系统 exit()方法
public void exit() {
System.out.println("谢谢使用!");
}
}public static void main(String[] args) throws ParseException {
int[] no = new int[50];// 序号
String[] name = new String[50];// DVD名字
String[] state = new String[50];// DVD状态
String[] time = new String[50]; // 借出日期
DVDFunction dvd = new DVDFunction();// 实例化dvd功能类
Scanner sc = new Scanner(System.in);
boolean isGoon = false;// 判断返回主菜单的选择是否正确
boolean isCon = true;// 判断返回上一级菜单的选择是否输入正确
boolean isSon = true;
do {
isGoon = false;// 初始化
isCon = true;
isSon = true;
dvd.show();// 调用主界面
System.out.print("请选择:");
switch (sc.next()) {
case "1":// 增加DVD的选择
System.out.println("--->新增DVD");
System.out.print("请输入 DVD 名称:");
String a= sc.next();
dvd.add(a);// 调用增加DVD的方法
break;
case "2":// 查看DVD的选择
System.out.println("--->查看DVD");
dvd.examine();
break;
case "3"://删除DVD
System.out.println("--->删除DVD");
System.out.print("请输入DVD名称:");
dvd.delete(sc.next());
break;
case "4":// 借出DVD的选择
System.out.println("--->借出DVD");
System.out.print("请输入DVD名称:");
dvd.borrow(sc.next());
break;
case "5":// 归还DVD的选择
System.out.println("--->归还DVD");
System.out.print("请输入DVD名称:");
dvd.returnDvd(sc.next());
break;
case "6":// 退出系统
dvd.exit();
isCon = false;
break;
default:
System.out.println("输入有误!");
break;
}
while (isCon) {
System.out.print("\n输入0返回:");
if (sc.nextInt() == 0) {
isCon = false;// 返回上一级菜单输入正确
isGoon = true;
} else {
System.out.println("输入有误,重新输入");
isCon = true;// 返回上一级菜单输入错误
}
}
} while (isGoon);
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册