使用对象数组完成迷你DVD管理器
*************************************************** DVDSet类************************************************************************************
package com.neusoft;
import java.text.ParseException;
import java.util.Date;
/**
* DVD属性
* @author 郭浩
*
*/
public class DVDSet {
public String name;//DVD名字
public int state;//DVD状态 0:未借出 1:借出
public String date;//借出日期
public int count;//借出次数
}
********************************************************DVDMgr类**************************************************************************
package com.neusoft;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
/**
* DVD方法实现类
* @author 郭浩
*
*/
public class DVDMgr {
Scanner input = new Scanner(System.in);
DVDSet dvd = null;
DVDSet[] dvds= new DVDSet[10];
Date date = new Date();
String good="";
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String choose=null;
/**
* 界面欢迎语
*/
private void welcomein(){
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("7.退出");
System.out.println("--------------------------------");
}
/**
* 添加数据
* @param dvd
* @return
*/
public DVDSet[] addMgr(DVDSet dvd){
for(int i=0;i<dvds.length;i++){
//插入前判断数组是否为空
if(null==dvds[i]){
dvds[i]=dvd;
break;
}
}
return dvds;
}
/**
* 添加DVD
*/
private void addDvd(){
do{
dvd = new DVDSet();
System.out.println("请输入DVD名字");
dvd.name=input.next();
System.out.println("请输入DVD状态");
dvd.state=input.nextInt();
System.out.println("请输入租赁次数");
dvd.count=input.nextInt();
System.out.println("请输入归还日期");
dvd.date=input.next();
dvds =addMgr(dvd);
System.out.println("确定继续录入吗?(y/n)");
choose =input.next();
}while("y".equals(choose));
}
/**
* 查看数组里面有多少DVD信息
*/
private void searchDvd(){
for(int i =0;i<dvds.length;i++){
if(null!=dvds[i]){
good=dvds[i].state>=1?"已借出":"可借";
System.out.println( dvds[i].name+"\t"+good+"\t"+
dvds[i].count+"\t"+dvds[i].date);
}
}
}
/**
* 删除DVD,如果借出,不删
*/
private void delDvd(){
System.out.print("请输入要删除的DVD名字:");
boolean flag = false;
String name =null;
name = input.next();
for(int i=0;i<dvds.length;i++){
if(dvds[i].name.equalsIgnoreCase(name)&&dvds[i].state==0){
while(null!=dvds[i+1]){
dvds[i].name=dvds[i+1].name;
dvds[i].state=dvds[i+1].state;
dvds[i].count=dvds[i+1].count;
dvds[i].date=dvds[i+1].date;
dvds[i+1]=null;
}
System.out.println("删除《"+name+"》成功");
flag =true;
break;
}else if(dvds[i].name.equalsIgnoreCase(name)&&dvds[i].state==1){
System.out.println("《"+name+"》为借出状态,不能删除!");
flag=true;
break;
}
}
}
/**
* DVD借出
*/
private void borrow(){
System.out.print("请输入要借的DVD:");
String name =null;
name = input.next();
for(int i=0;i<dvds.length;i++){
if(dvds[i].name.equalsIgnoreCase(name)&&dvds[i].state==0){
System.out.println("DVD借出成功,一天两元,请注意归还");
dvds[i].state+=1;
dvds[i].count+=1;
break;
}else if(dvds[i].name.equalsIgnoreCase(name)&&dvds[i].state==1){
System.out.println("该DVD已经借出,无法再借");
break;
}
}
}
/**
* 归还DVD
*/
public void inDvd(){
System.out.println("请输入归还图书的名字:");
String name = null;
name = input.next();
for(int i=0;i<dvds.length;i++){
if(dvds[i].name.equalsIgnoreCase(name)&&dvds[i].state==1){
System.out.println("归还成功");
dvds[i].state=0;
dvds[i].date=df.format(date);
break;
}else if(dvds[i].name.equalsIgnoreCase(name)&&dvds[i].state==0){
System.out.println("该图书未借出,请确认你的DVD正确的名字");
break;
}
}
}
/**
* DVD排行榜
*/
private DVDSet[] arrayDvd(){
System.out.println("下面开始排行榜排序");
for(int i=0;i<dvds.length-1;i++){
if(null!=dvds[i]){
for(int j=0;j<dvds.length-1-i;j++){
if(null!=dvds[j]&&null!=dvds[j+1]){
DVDSet temp;
if(dvds[j].count<dvds[j+1].count){
temp = dvds[j];
dvds[j]=dvds[j+1];
dvds[j+1]=temp;
}
}
}
}
}
return dvds;
}
/**
* 用户选择界面
*/
private void choice(){
System.out.print("请选择:");
int choice = 0;
choice = input.nextInt();
switch (choice) {
case 1:
System.out.println("此处实现新增DVD");
System.out.println("***************************");
System.out.print("输入0返回: 输入1开始添加DVD信息");
choice = input.nextInt();
switch (choice) {
case 0:
returnMain();
break;
case 1:
System.out.println("-->");
addDvd();
returnMain();
break;
default :
System.out.println("您的输入有误,请输入数字");
}
break;
case 2:
System.out.println("此处实现查看DVD");
System.out.println("***************************");
System.out.print("输入0返回: 输入1开始查看DVD信息");
choice = input.nextInt();
switch (choice) {
case 0:
returnMain();
break;
case 1:
System.out.println("名称:\t状态:\t 次数:\t日期: ");
searchDvd();
returnMain();
break;
default :
System.out.println("您的输入有误,请输入数字");
break;
}
break;
case 3:
System.out.println("此处实现删除DVD");
System.out.println("***************************");
System.out.print("输入0返回:输入1开始准备输入删除DVD名字");
choice = input.nextInt();
switch (choice) {
case 0:
returnMain();
break;
case 1:
delDvd();
returnMain();
break;
default :
System.out.println("您的输入有误,请输入数字");
break;
}
break;
case 4:
System.out.println("此处实现借出DVD");
System.out.println("***************************");
System.out.print("输入0返回:输入1开始借出DVD");
choice = input.nextInt();
switch (choice) {
case 0:
returnMain();
break;
case 1:
borrow();
returnMain();
break;
default :
System.out.println("您的输入有误,请输入数字");
returnMain();
break;
}
break;
case 5:
System.out.println("此处实现归还DVD");
System.out.println("***************************");
System.out.print("输入0返回:输入1开始归还");
choice = input.nextInt();
switch (choice) {
case 0:
returnMain();
break;
case 1:
inDvd();
returnMain();
break;
default :
System.out.println("您的输入有误,请输入数字");
break;
}
break;
case 6:
System.out.println("此处进行租赁排行榜排序");
System.out.println("***************************");
System.out.print("输入0返回:输入1开始排序");
choice = input.nextInt();
switch (choice) {
case 0:
returnMain();
break;
case 1:
arrayDvd();
returnMain();
break;
default :
System.out.println("您的输入有误,请输入数字");
returnMain();
break;
}
break;
case 7:
System.out.println("谢谢使用");
System.exit(0);
break;
default :
System.out.println("您的输入有误,请输入数字");
break;
}
}
/**
* 返回界面
*/
private void returnMain(){
welcomein();
choice();
}
/**
* 初始化对象
* @throws ParseException
*/
private void initial() {
DVDSet dvd0 = new DVDSet();
dvd0.name="wq";
dvd0.state=0;
dvd0.date="2017-7-1";
dvd0.count=2;
dvds[0]=dvd0;
DVDSet dvd1= new DVDSet();
dvd1.name="浪漫满屋";
dvd1.state=0;
dvd1.date=null;
dvd1.count=2;
dvds[1]=dvd1;
DVDSet dvd2= new DVDSet();
dvd2.name="傲慢与偏见";
dvd2.state=0;
dvd2.date=null;
dvd2.count=2;
dvds[2]=dvd2;
}
/**
* 初始界面
*/
public void startMenu(){
//初始化数据
welcomein();
initial();
choice();
}
}
********************************************************DVDTest类******************************************************************************
package com.neusoft;
/**
* DVD测试类
* @author 郭浩
*
*/
public class DVDTest {
/**
* 测试
* @param args
*/
public static void main(String[] args) {
DVDMgr dvdm = new DVDMgr();
dvdm.startMenu();
}
}