迷你DVD

来源:互联网 发布:常熟美工培训南天 编辑:程序博客网 时间:2024/04/29 02:32
public class Dvd {String [] name = new String[50];//数组1存储DvD名称int[] state = new int[50];//数组2存储DvD借出状态:0已借出/1可借String [] date = new String[50];//数组3存储DvD借出日期int [] count = new int[50];//数组4记录借出次数}
<pre name="code" class="java">import java.util.Date;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Scanner;public class DVDMgr {Dvd dvd = new Dvd();public void initial() {dvd.name[0] = "罗马假日";dvd.state[0] = 0;dvd.date[0] = "2013-7-1";dvd.count[0] = 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.借出排行榜\n1.新增DVD\n2.查看DVD\n3.删除DVD\n4.借出DVD\n5.归还DVD\n6.退出");System.out.println("-----------------------------------");Scanner input = new Scanner(System.in);System.out.print("请选择:");int choice = input.nextInt();switch (choice) {case 0:System.out.println("--->排行榜");list();returnMain();break;case 1:System.out.println("此处实现新增DVD\n");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;dvd.date[i] = "";System.out.println("新增《" + name + "》成功");break;}}System.out.println("*******************************");returnMain();break;case 2:System.out.println("--->查看DVD\n");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]+ ">>");}}returnMain();break;case 3:System.out.println("---> 删除DVD\n");System.out.print("请输入删除DVD:");String name1 = input.next();boolean flag = false;for (int i = 0; i < dvd.name.length; i++) {if (dvd.name[i] != null && dvd.name[i].equalsIgnoreCase(name1)&& dvd.state[i] == 1) {int j = i;while (dvd.name[j + i] != 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("删除《" + name1 + "》成功!");flag = true;// 标识位break;} else if (dvd.name[i] != null&& dvd.name[i].equalsIgnoreCase(name1)&& dvd.state[i] == 0) {System.out.println("《" + name1 + "》为借出状态,不能删除!");flag = true;break;}}if(flag==false){System.out.println("没有找到");break;}returnMain();break;case 4:System.out.println("--->借出DVD\n");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].equals(want) && dvd.state[i] == 1) {System.out.println("请输入借出日期:");dvd.date[i] = input.next();System.out.println("借出《" + want + "》成功");dvd.state[i] = 0;dvd.count[i]++;break;} else if (dvd.name[i].equals(want) && dvd.state[i] == 0) {System.out.println(want + "已被借出");}}returnMain();break;case 5:System.out.println("---> 归还DVD\n");System.out.print("请输入归还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.print("请输入归还日期:");String year = input.next();money = charge(dvd.date[i], year);System.out.println("归还《" + name4 + "》成功!");System.out.println("借出日期为:" + dvd.date[i]);System.out.println("归还日期为:" + year);System.out.println("应付租金(元):" + money);dvd.state[i] = 1;break;}}returnMain();break;case 6:System.out.println("\n谢谢使用!");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;}public void returnMain() {Scanner input = new Scanner(System.in);System.out.print("输入0返回:");if (input.nextInt() == 0) {startMenu();} else {System.out.println("输入错误.异常终止!");}}public void list() {String[] name = new String[50];int[] coun = new int[50];name = dvd.name;coun = dvd.count;int i, j;for (i = 0; i < name.length - 1; i++) {for (j = 0; j < name.length - 1 - i; j++) {if (coun[i] > coun[j]) {String temp1 = name[i];name[i] = name[j];name[j] = temp1;int x = coun[i];coun[i] = coun[j];coun[j] = x;}}}for (i = 0; i < name.length; i++) {if (name[i] != null) {System.out.println(coun[i] + "\t" + name[i]);}}}}


<pre name="code" class="java">public class Start {public static void main(String[] args) {DVDMgr dm = new DVDMgr ();dm.initial();dm.startMenu();}}



0 0
原创粉丝点击