dvd java_如何用Java实现DVD的一些功能

本文介绍了一个迷你DVD管理系统的实现,包括DvdSet类的属性定义、DvdMgr类的初始化、菜单操作(添加、查看、删除、借还、排行榜)以及相关方法。通过实例演示了如何使用和维护DVD借阅信息,以及如何进行排行榜功能的展示。
摘要由CSDN通过智能技术生成

/*

这个代码中涉及到的知识点很多,大家要慢慢悟!!

*/

import java.util.*;

import java.text.*;

class DvdSet {

//定义三个属性

String[] name = new String[50]; // 为保证数组足够大

String[] date = new String[50];// 借书的时间

int[] state = new int[50]; // 借书的状态 , 0表示借出 ,1.表示可以借。

int[] count = new int[50]; // 借书的次数

}

class DvdMgr {

//创建一个DvdSet对象

DvdSet dvd = new DvdSet();

//1.第一个方法初始化三个DVD数据

public void initial(){

//初始化三个Dvd

dvd.name[0]= "罗马假日";

dvd.state[0]=0;

dvd.count[0] = 30;

dvd.date[0]= "2016-11-18";

dvd.name[1]="风声鹤唳";

dvd.state[1]=1;

dvd.name[2]= "浪漫满屋";

dvd.state[2]=1;

dvd.count[2] = 10;

}

//2.实现一个菜单切换

public void startMenu() {

System.out.println("*********************************");

System.out.println("******欢迎使用迷你DVD管理器******");

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("****** 7.退出 ******");

System.out.println("*********************************");

Scanner input = new Scanner(System.in);

System.out.println("请输入您的操纵:");

int option = input.nextInt();

switch(option){

case 1 :

addDvd();

returnMenu();

break;

case 2 :

searchDvd();

returnMenu();

break;

case 3 :

deleteDvd();

returnMenu();

break;

case 4 :

lendDvd();

returnMenu();

break;

case 5 :

returnDvd();

returnMenu();

break;

case 6:

list();

returnMenu();

break;

case 7:

System.out.println("谢谢使用,欢迎下次在来");

break;

default:

System.out.println("输入异常,程序已经吓崩溃,正在重启中...");

break;

}

}

//3.返回菜单

public void returnMenu() {

System.out.println("输入0返回:");

Scanner input = new Scanner(System.in);

if(input.nextInt() == 0){

//在此进入菜单切换

startMenu();

}else {

System.out.println("输入异常,请从输入:");

returnMenu(); // 递归调用。

}

}

//4.查看的功能

public void searchDvd(){

System.out.println("******欢迎进入查看页面*****");

//\t Tap

System.out.println("序号\t名称\t\t状态\t借出时间\t");

for(int i=0;i

if(dvd.name[i] == null){

break;

}else if (dvd.state[i] == 0){

//代表已经借出

System.out.println(i+1+"\t"+"<>\t已借出\t"+dvd.date[i]);

}else if(dvd.state[i] == 1){

//代没有借出

System.out.println(i+1+"\t"+"<>\t可借\t");

}

}

System.out.println("**************************************");

}

//5.新增Dvd

public void addDvd(){

System.out.println("******欢迎进入添加页面*****");

System.out.println("请输入您要添加的Dvd:");

Scanner input = new Scanner(System.in);

String name = input.next();

//将新增的内容放到最后

for(int i = 0;i

if(dvd.name[i] == null){ //到最后去了。

dvd.name[i] = name;

dvd.state[i] = 1;

System.out.println("<>dvd添加成功");

break;

}

}

}

//6.删除dvd

public void deleteDvd(){

System.out.println("******欢迎进入删除页面*****");

System.out.println("请输入您要删除的Dvd名称:");

Scanner input = new Scanner(System.in);

String name = input.next();

//1.没有找到 : 提示没有找到 请重新输入

//2.找到 :

//1.已经借出去 : 不能够删除

//2.没有借出去 : 删除

for(int i = 0;i

//查找是否存在

if(dvd.name[i] != null){

if(dvd.name[i].equalsIgnoreCase(name)){ //已经找到

//是否已经被借出

if(dvd.state[i] == 0){ // 借出

System.out.println("《"+name+"》已经被借出");

break;

}else if(dvd.state[i] == 1) {

//没有借出需要删除

//思路 : 1.用后面一个替换前面的。

//2.把最后面多余的地方赋值为null.

for(int j = i ;j

//做交换

if(dvd.name[j +1] != null){

dvd.name[j] = dvd.name[j+1];

dvd.state[j] = dvd.state[j+1];

}else{

//清空最后一个值

dvd.name[j] = null;

dvd.date[j] = null;

break;

}

}

System.out.println("删除《"+name+"》成功");

break;

}

}

}else {

System.out.println("没有您要删除的dvd");

System.out.println("***********************************************");

break;

}

}

}

//7.借dvd的功能

public void lendDvd(){

System.out.println("********欢迎进入借DVD页面********");

System.out.println("请输入您要借的dvd名称:");

Scanner input = new Scanner(System.in);

String name = input.next();

//1.判断有没有dvd

//1.又没有被借出去。

for(int i = 0;i

if(dvd.name[i] != null){ // 有dvd

if(dvd.name[i].equalsIgnoreCase(name) && dvd.state[i] == 1){ //有DVD并且没有被借出去

//借DVD

//1.修改状态

dvd.state[i] = 0;

System.out.println("请输入借DVD的时间(年-月-日):");

Scanner inputDate = new Scanner(System.in);

dvd.date[i] = inputDate.next();

System.out.println("借DVD成功");

dvd.count[i]++;

break;

}else if(dvd.name[i].equalsIgnoreCase(name) && dvd.state[i] == 0){

System.out.println("不好意思此借DVD已经被借出");

break;

}

}else { // dvd

System.out.println("没有您要找的DVD");

break;

}

}

}

//8.还Dvd 计算价格

public void returnDvd(){

System.out.println("********欢迎进入还DVD页面******************");

System.out.println("请输入还dvd的名称:");

Scanner input = new Scanner(System.in);

double price = 0.0;

String name = input.next();

for(int i = 0;i

if(dvd.name[i]!=null){ //有

if(dvd.name[i].equalsIgnoreCase(name) && dvd.state[i] == 0){ //以借出就可以归还

dvd.state[i] = 1;

System.out.println("请输入归还DVD的时间(年-月-日):");

Scanner inputDate = new Scanner(System.in);

//获取时间差

long charge = charge(dvd.date[i],inputDate.next());

price = charge * 1;

System.out.println("《"+dvd.name[i]+"》归还成功");

System.out.println("您应付"+price+"元");

//清空时间

dvd.date[i] = null;

break;

}

}else{

System.out.println("没有找到匹配的信息");

break;

}

}

System.out.println("************************************************");

}

public long charge(String date1,String date2){

//做时间差

//将String转为Date做计算

SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");

long charge = 0;

try{

Date d1 = sd.parse(date1);

Date d2 = sd.parse(date2);

//时间也是以毫秒为单位。

charge = (d2.getTime() - d1.getTime()) / (1000*24*60*60);

}catch(ParseException e){

System.out.println(e);

}

return charge;

}

//排行榜

public void list(){

System.out.println("欢迎进入Dvd排行榜");

//排序

for(int i = 0 ; i

if(dvd.name[i] != null){

for(int j = 0; j

if(dvd.name[j] != null){

if(dvd.count[j] < dvd.count[j+1]){

int temp = dvd.count[j];

dvd.count[j] = dvd.count[j+1];

dvd.count[j+1]= temp;

String name1 = dvd.name[j];

dvd.name[j] = dvd.name[j+1];

dvd.name[j+1] = name1;

String date1= dvd.date[j];

dvd.date[j] = dvd.date[j+1];

dvd.date[j+1] = date1;

int state1= dvd.state[j];

dvd.state[j] = dvd.state[j+1];

dvd.state[j+1] = state1;

}

}else {

break;

}

}

}else{

break;

}

}

System.out.println("序号\t名称\t\t状态\t借出时间\t");

for(int i=0;i

if(dvd.name[i] == null){

break;

}else if (dvd.state[i] == 0){

//代表已经借出

System.out.println(i+1+"\t"+"<>\t已借出\t"+dvd.date[i]);

}else if(dvd.state[i] == 1){

//代没有借出

System.out.println(i+1+"\t"+"<>\t可借\t");

}

}

System.out.println("**************************************");

}

class DvdMain{

public static void main (String[] args){

DvdMgr dvd = new DvdMgr();

//初始化dvd

dvd.initial();

//开始进入切换菜单

dvd.startMenu();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值