您的位置:首页 > 其它

迷你Dvd管理系统

2016-08-01 19:55 351 查看
Dvd类

package com.neusoft;
/**
* dvd类
*
*/
public class Dvd {
public String dvdName;//dvd名称
public int dvdState;//租借状态(0:可借 1:已借)
public String outTime;//借出日期
public int price;//租金
public int count;//租借次数
}


DvdManage类

package com.neusoft;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

/**
* dvd系统管理类
*
* @author Administrator
*
*/
public class DvdManage {

Dvd[] dvds = null;// 声明dvd对象数组
// 声明DVD对象
Dvd dvd = null;
Scanner input = new Scanner(System.in);

/**
* dvd信息初始化
*/
private void init() {
dvds = new Dvd[10];

dvds[0] = new Dvd();
dvds[0].dvdName = "ccccc";
dvds[0].dvdState = 0;
dvds[0].outTime = "";
dvds[0].price = 1;
dvds[0].count = 1;

dvds[1] = new Dvd();
dvds[1].dvdName = "aaaaa";
dvds[1].dvdState = 0;
dvds[1].outTime = "";
dvds[1].price = 2;
dvds[1].count = 2;

dvds[2] = new Dvd();
dvds[2].dvdName = "bbbbb";
dvds[2].dvdState = 0;
dvds[2].outTime = "";
dvds[2].price = 2;
dvds[2].count = 3;
}

/**
* 查看dvd信息
*/
private void showDvdInfo() {
// 在循环中变量对象数组查询dvd信息
System.out.println("名称\t租借状态\t租借日期\t租金\t次数");
for (int i = 0; i < dvds.length; i++) {
if (dvds[i] != null) {
System.out.println(dvds[i].dvdName + "\t"
+ (dvds[i].dvdState == 0 ? "可借" : "已借") + "\t"
+ dvds[i].outTime + "\t" + dvds[i].price + "\t"
+ dvds[0].count);
}
}
}

/**
* 系统主菜单
*/
private void menu() {
System.out.println("欢迎使用XXX迷你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、查看dvd排行榜");
System.out.println("0、退出");
System.out.print("请输入选择功能:");
}

/**
* 根据名称查询dvd是否存在
*
* @param name
* @return
*/
private boolean isExist(String name) {
boolean isFind = false;
for (int i = 0; i < dvds.length; i++) {
// 判断dvd是否存在
if (dvds[i] != null) {
if (dvds[i].dvdName.equals(name)) {
isFind = true;
}
}
}
return isFind;
}

/**
* 系统操作的方法
*/
public void operation() {
String name = "";
// 定义用户选择变量
int choice = 0;
// 调用初始化
this.init();
// 显示系统菜单
// 只要用户不输入0.操作功能后自动回到主菜单,进行下一步操作
do {
this.menu();
choice = input.nextInt();
switch (choice) {
case 1:
System.out.println("请输入要添加的dvd名称:");
name = input.next();
boolean isFlag = this.isExist(name);
if (!isFlag) {
// 创建DVD对象
dvd = new Dvd();
dvd.dvdName = name;
dvd.price = 2;
dvd.count = 0;
dvd.dvdState = 0;
dvd.outTime = "";
addDvd(dvd);
} else {
System.out.println("您输入的碟片已存在!~");
}
break;
case 2:
showDvdList();
break;
case 3:
// 调用借出DVD的方法
System.out.println("请输入要借出的DVD名称:");
name = input.next();
isFlag = this.isExist(name);
if (isFlag) {
dvdOut(name);
} else {
System.out.println("您要借出的DVD不存在!~");
}
break;
case 4:
System.out.println("请输入要借出的DVD名称:");
name = input.next();
isFlag = this.isExist(name);
if (isFlag) {
returnDvd(name);
} else {
System.out.println("您要归还的DVD不存在!~");
}
break;
case 5:
System.out.println("请输入要借出的DVD名称:");
name = input.next();
isFlag = this.isExist(name);
if (isFlag) {
delDvd(name);
}
break;
case 6:
break;
case 0:
System.out.println("谢谢使用");
return;
}
} while (choice != 0);

}

/**
* 删除DVD
*
* @param name
*/
private void delDvd(String name) {
for (int i = 0; i < dvds.length; i++) {
if (dvds[i] != null) {
if (dvds[i].dvdName.equals(name)) {
dvds[i] = null;
break;
}
}
}
for (int i = 0; i < dvds.length; i++) {
if (dvds[i] == null) {
if (dvds[i + 1] != null) {
dvds[i] = dvds[i + 1];
dvds[i + 1] = null;
} else {
break;
}
}
}
}

/**
* 归还DVD
*
* @param name
*/
private void returnDvd(String name) {
for (int i = 0; i < dvds.length; i++) {
if (dvds[i] != null) {
if (dvds[i].dvdName.equals(name)) {
dvd = dvds[i];
break;
}
}
}
// 计算租金
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String curDate = sdf.format(date);
try {
Date date1 = sdf.parse(curDate);
Date date2 = sdf.parse(dvd.outTime);
long diff = (date1.getTime() - date2.getTime())
/ (1000 * 60 * 60 * 24);
System.out.println("您需要付的租金为:" + (diff * dvd.price));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
dvd.outTime = "";
dvd.dvdState = 0;
System.out.println(dvd.dvdName + "归还成功!~");
}

/**
* 根据DVD名称判断该DVD是否可借
*
* @param name
* @return
*/
private void dvdOut(String name) {
for (int i = 0; i < dvds.length; i++) {
if (dvds[i] != null) {
if (dvds[i].dvdName.equals(name)) {
dvd = dvds[i];
break;
}
}
}
if (dvd.dvdState == 0) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String curDate = sdf.format(date);
dvd.outTime = curDate;
dvd.dvdState = 1;
dvd.count += 1;
} else {
System.out.println("您要借出的DVD尚未归还!~");
}
}

private void showDvdList() {
System.out.println("DVD名称\t状态\t出租日期\t租金\t租借次数");
for (Dvd dvd : dvds) {
if (dvd != null) {
System.out.println(dvd.dvdName + "\t"
+ (dvd.dvdState == 0 ? "未借" : "已借") + "\t"
+ dvd.outTime + "\t" + dvd.price + "\t" + dvd.count);
}
}
}

private void addDvd(Dvd newDvd) {
for (int i = 0; i < dvds.length; i++) {
if (dvds[i] == null) {
dvds[i] = newDvd;
break;
}
}

}

}


DvdTest类

package com.neusoft;
/**
* dvd系统测试类
*
*/
public class DvdTest {

public static void main(String[] args) {
//      //获取当前计算机系统时间
//      Date curDate = new Date();
//      System.out.println(curDate);
//      //常用的日期格式。也是很多系统中承认的格式:yyyy-MM-dd HH:mm:dd或者:yyyy/MM/dd HH:mm:dd
//      //格式化时间
//      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//      String newDate = sdf.format(curDate);
//      System.out.println(newDate);
//
//      String outTime = "2016-07-29";
//      try {
//          Date date1 = sdf.parse(newDate);
//          Date date2 = sdf.parse(outTime);
//          long diff = (date1.getTime()-date2.getTime())/(1000*60*60*24);
//          System.out.println(diff);
//      } catch (ParseException e) {
//          // TODO Auto-generated catch block
//          e.printStackTrace();
//      }

DvdManage manage = new DvdManage();
manage.operation();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MiNiDvd管理系