这是写出的一个小项目,希望大家能多多指教 import java.util.*; import java.text.*; class DVDMgr { Scanner input = new Scanner(System.in); DVDSet dvd = new DVDSet();//初始化对象 boolean isjiechu = true;//已借出是true,可借是false //初始化三张DVD信息 public void initial() { dvd.name[0] = "罗马假日"; dvd.state[0] = true;//已借出 dvd.date[0] = "2012-2-1"; dvd.name[1] = "风声鹤唳"; dvd.state[1] = false;//可借 dvd.name[2] = "浪漫满屋"; dvd.state[2] = false;//可借 } public void startMenu() { 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("---------------------------"); System.out.print("请选择:"); int choice = input.nextInt(); switch (choice) { case 1: add(); break; case 2: scearch(); break; case 3: delete(); break; case 4: lend(); break; case 5: returnDvd(); break; case 6: System.out.println("感谢您的使用"); break; default: System.out.println("您的输入有误,请重新输入"); returnMain(); } } public void returnMain() { System.out.print("输入0返回"); if (input.nextInt() == 0) { startMenu(); }else{ System.out.println("输入错误,异常终止"); } } //新增DVD public void add() { System.out.println("---新增DVD"); System.out.print("请输入DVD的名称: "); String name = input.next(); for (int j = 0; j < dvd.name.length; j++) { if (dvd.name[j] == null)//判断位置是否为空 { dvd.name[j] = name; dvd.state[j] = false;//新增的光盘是可借的 System.out.println("新增《" + name + "》成功"); break; } } System.out.println("*********************"); returnMain(); } //查看DVD public void scearch() { System.out.println("--->查看DVD"); 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] == true) { System.out.println((i + 1) + "\t已借出\t《" +dvd.name[i] + "》\t" + dvd.date[i]); }else if (dvd.state[i] == false) { System.out.println((i + 1) + "\t可借\t《" + dvd.name[i] + "》"); } } System.out.println("*********************"); returnMain(); } //删除DVD public void delete() { System.out.println("--->删除DVD"); System.out.print("请输入DVD的名称: "); String name = input.next(); boolean flag = false; for (int i = 0; i < dvd.name.length; i++) { if (dvd.name[i] != null && dvd.name[i].equalsIgnoreCase(name) && dvd.state[i] == false) { 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("删除《" + name + "》成功!"); flag = true; // 标识位 break; } else if (dvd.name[i] != null && dvd.name[i].equalsIgnoreCase(name) && dvd.state[i] == true) { System.out.println("《" + name + "》为借出状态,不能删除!"); flag = true; break; } if (flag == true) { System.out.println("没有找到匹配信息"); } } System.out.println("*********************"); returnMain(); } //借出DVD public void lend() { System.out.println("--->借出DVD"); System.out.print("请输入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] == false) { System.out.print("请输入借出日期(年-月-日) : "); dvd.date[i] = input.next(); System.out.print("《" + name + "》借出成功"); dvd.state[i] = true; break; }else if (dvd.name[i].equals(name) && dvd.state[i] == true) { System.out.println("不好意思,《" + name + "》已被借出"); break; } } System.out.println("*********************"); returnMain(); } //归还DVD public void returnDvd() { System.out.println("--->归还DVD\n"); System.out.print("请输入DVD名称:"); String name = input.next(); long loan = 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(name) && dvd.state[i] == true) { System.out.print("请输入归还日期(年-月-日):"); String redate = input.next(); loan = charge(dvd.date[i], redate); System.out.println("\n《" + name + "》归还成功"); dvd.state[i] = false; System.out.println("借出日期为:" + dvd.date[i]); System.out.println("归还日期为:" + redate); System.out.println("应付租金(元):" + loan); break; } else if (dvd.name[i].equals(name) && dvd.state[i] == false) { System.out.println("《" + name + "》没有被借出,无法进行归还操作!"); break; } } System.out.println("**************************"); returnMain(); } 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; } } class DVDSet { String[] name = new String[50];//定义一个DVD数组 boolean[] state = new boolean[50];//定义DVD借出状态:true是已借出,false是可借 String[] date = new String[50];//定义借出日期 } class Start1 { public static void main(String[] args) { DVDMgr dm = new DVDMgr(); dm.initial(); dm.startMenu(); } }