Java----DVD管理系统

xiaoxiao2021-02-28  84

这个简单版的DVD管理系统就实现简单的功能,新增DVD、查看DVD、删除DVD、借出DVD、归还DVD、退出DVD系统

在这里的功能其实都没有什么难的,就是在借出DVD的时候要去记录时间,好去计算在归还时借了多少天。直接上代码吧。。。。

JavaMain.java  //测试类

package com.qianfeng.dao; import java.util.Scanner; public class JavaMain { static Scanner in = new Scanner(System.in); public static void main(String[] args) { //这段代码在eclipse运行不出,但是在终端是可以的 /* String[] str = new String[] { "\\", "/", "\\", "/" }; System.out.print("正在进入系统:"); for (int j = 0; j < 2; j++) { for (int i = 0; i < str.length; i++) { System.out.print(str[i] + '\b'); try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } } }*/ //System.out.print(" \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b系统已经进入了......"); System.out.println("************欢迎使用迷你DVD管理器************"); // 初始化DVD initDVD(); int a; while (true) { // 打印界面 printUI(); System.out.print("请选择:"); int i = 3; do { a = in.nextInt(); if (a >= 1 && a <= 6) { break; } else { i--; if (i > 0) System.out.print("输入有错,请重新输入,您还有" + i + "次机会:"); } } while (i > 0); if (i == 0) { System.out.println("你可能眼神不好,你下次不用来了......"); System.exit(0); } else { switch (a) { case 1: addDVD(); // 添加DVD break; case 2: UserDemo.selectDVD();// 查看DVD break; case 3: deleteDVD();// 删除DVD break; case 4: borrowDVD(); // 借DVD break; case 5: backDVD(); // 归还DVD break; case 6: System.out.println("欢迎下次再来..."); System.exit(0); break; } } } } public static void addDVD() { System.out.println("-------> 新增DVD"); System.out.print("请输入新增DVD的名字:"); String name = in.next(); if (UserDemo.addDVD(new DVDDemo(name))) { System.out.println("成功新增DVD《" + name + "》!"); } else { System.out.println("DVD《" + name + "》添加失败"); } } /* * 归还DVD */ public static void backDVD() { System.out.println("-------> 归还DVD"); System.out.print("请输入要归还DVD的序号:"); int bIndex = in.nextInt(); // 获取DVD序号 if (UserDemo.backDVD(bIndex)) { System.out.println("成功归还DVD《" + UserDemo.mList.get(bIndex - 1).getName() + "》!"); } else { System.out.println("归还DVD《" + UserDemo.mList.get(bIndex - 1).getName() + "》失败!"); } } /* * 借DVD */ public static void borrowDVD() { System.out.println("-------> 借出DVD"); System.out.print("请输入要借的DVD的序号:"); int index = in.nextInt(); // 获取DVD序号 if (UserDemo.borrowDVD(index)) { System.out.println("成功借到DVD《" + UserDemo.mList.get(index - 1).getName() + "》!"); } else { System.out.println("你输入的序号有问题,老铁"); } } /* * 删除DVD */ public static void deleteDVD() { System.out.println("-------> 删除DVD"); System.out.print("请输入要删除DVD的序号:"); int code = in.nextInt(); DVDDemo demo = UserDemo.mList.get(code - 1); if (UserDemo.removeDVD(demo)) { System.out.println("成功删除DVD《" + demo.getName() + "》!"); } else { System.out.println("DVD《" + demo.getName() + "》删除失败"); } } /* * 输出界面 */ public static void printUI() { System.out.println("-----------------------------------------"); System.out.println("*\t\t1、新增DVD\t\t*"); System.out.println("*\t\t2、查看DVD\t\t*"); System.out.println("*\t\t3、删除DVD\t\t*"); System.out.println("*\t\t4、借出DVD\t\t*"); System.out.println("*\t\t5、归还DVD\t\t*"); System.out.println("*\t\t6、退出DVD\t\t*"); } /* * 初始化DVD */ public static void initDVD() { UserDemo.mList.add(new DVDDemo(true, "罗马假日", 1, 15)); UserDemo.mList.add(new DVDDemo(false, "风声鹤唳", 1, 22)); UserDemo.mList.add(new DVDDemo(false, "浪漫满屋", 1, 23)); } } DVDDemo.java package com.qianfeng.dao; /** * DVD类:创建DVD类,必须要有名字,状态默认为false,借出次数为0,借出日期为0 * */ public class DVDDemo { private boolean status; //状态 private String name; //名字 private int date; //借出日期 private int count; //借出次数 public DVDDemo(String name){ //创建对象一定要有名字 this.name = name; } public DVDDemo(boolean status, String name, int date, int count) { super(); this.status = status; this.name = name; this.date = date; this.count = count; } public boolean isStatus() { return status; } public void setStatus(boolean status) { this.status = status; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getDate() { return date; } public void setDate(int date) { this.date = date; } public int getCount() { return count; } public void setCount(int count) { this.count = count; } } UserDemo.java package com.qianfeng.dao; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; public class UserDemo { public static List<DVDDemo> mList = new ArrayList<>();// 保存DVD的集合 public static Map<Integer, Date> mDate = new HashMap<>(); // 保存借DVD的时间与序号 /* * 添加DVD,并返回是否添加成功 */ public static boolean addDVD(DVDDemo dvd) { return mList.add(dvd); } /* * 删除DVD,并返回是否删除成功 */ public static boolean removeDVD(DVDDemo dvd) { return mList.remove(dvd); } /* * 查看所有DVD的信息 */ public static void selectDVD() { System.out.println("-------> 查看DVD"); System.out.println("序号\t" + "状态\t" + " 名称 \t" + "\t借出日期\t" + "借出次数"); for (int i = 0; i < mList.size(); i++) { String status = null; DVDDemo dvd = mList.get(i); if (mList.get(i).isStatus()) { // 为true,表示已经借出 status = "已借出"; if (mDate.get(i + 1) != null) { Date date = new Date(); int day = getDay(mDate.get(i + 1), date); dvd.setDate(day); } System.out.println((i + 1) + "\t" + status + "\t《" + dvd.getName() + "》\t" + dvd.getDate() + "日\t" + dvd.getCount() + "次"); } else { // false表示还没有借出 status = "可借"; System.out .println((i + 1) + "\t" + status + "\t《" + dvd.getName() + "》\t" + "\t" + dvd.getCount() + "次"); } } } /* * 根据序号来借DVD */ public static boolean borrowDVD(int index) { if (index > 0 && index <= mList.size()) { // 先判断这个DVD能不能借 DVDDemo demo = mList.get(index - 1); if (demo != null && !demo.isStatus()) { // 获取借DVD时间 Date date = new Date(); // 保存时间和序号 mDate.put(index, date); // 更改DVD的状态 demo.setStatus(true); return true; } } return false; } /* * 归还DVD */ public static boolean backDVD(int index) { if (index > 0 && index <= mList.size()) { // 先判断这个DVD能不能还 DVDDemo demo = mList.get(index - 1); if (demo != null && demo.isStatus()) { int day = 0; if(mDate.get(index)==null){ day = demo.getDate(); }else{ // 获取还DVD时间 Date date = new Date(); // 求出离借DVD的时间 day = getDay(mDate.get(index), date); // 将已还的借书记录清除 mDate.remove(index); } // 归还后将借出日期设为0 demo.setDate(0); // 将状态改为可借 demo.setStatus(false); int count = demo.getCount(); // 更新借出次数 demo.setCount(count + 1); System.out.println("你应该付:" + day + "元"); return true; } } return false; } /* * 获取离借DVD的天数 */ private static int getDay(Date oldDate, Date newDate) { int day = 0; Calendar calendar = Calendar.getInstance(); calendar.setTime(oldDate); // 设置借DVD的时间 int oldDay = calendar.get(Calendar.DAY_OF_MONTH); // 获取借DVD那天的日期 int oldHour = calendar.get(Calendar.HOUR_OF_DAY); // 获取借DVD那天的小时 calendar.setTime(newDate); // 设置离DVD的时间 int newDay = calendar.get(Calendar.DAY_OF_MONTH); // 获取离借DVD的日期 int newHour = calendar.get(Calendar.HOUR_OF_DAY); // 获取离借DVD的小时 day = newDay - oldDay; if (newHour - oldHour >= 0) { day++; } return day; } }

转载请注明原文地址: https://www.6miu.com/read-70444.html

最新回复(0)