MINIDVD

import java.util.*;

public class MiniDVD {
public static void main(String[] args){
//扫描器
Scanner input = new Scanner(System.in);
//重要参数及初始化
//Create four arrays with length of 7
//定义四个数组长度为7
int date[] = new int[7]; //borrow date
int count[] = new int[7]; //total count
String name[] =new String[7]; //name of DVDs
String state[] = new String[7]; //state
//Initiate three DVD
//FirstDVD
name[0] = "罗马假日";
state[0] = "已借出";
date[0] = 1;
count[0] =15;
//Second DVD
name[1] = "风声鹤唳";
state[1] = "可借";
date[1] = 0;
count[1] =12;
//Third DVD
name[2] = "浪漫满屋";
state[2] = "可借";
date[2] = 0;
count[2] =30;

//循环进入条件
String choice = " ";
boolean flag = true;
do{
//Create DVD Menu
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.退出DVD");
System.out.println("------------------------------------------------------");
System.out.print("请选择:");
choice = input.next();

//Switch choice menu
switch (choice){
case "1":
System.out.println("--->新增DVD");
System.out.print("\n请输入DVD名称:");
boolean firstMonitor = true;
boolean secondMonitor = false;
String bookName = " ";
do{
bookName= input.next();
if(firstMonitor){
for(int i = 0; i<name.length; i++){
if(bookName.equals(name[i])){
System.out.println("货架上已经存在该DVD,请返回目录重新选择!");
secondMonitor = true;
break;
}
}
}
firstMonitor =false;
}while(firstMonitor);

if(!secondMonitor){
for (int j = 0;j<name.length; j++){
if((name[j])==null){
name[j]= bookName;
state[j] = "可借";
count[j] = 0;
System.out.println("新增《"+bookName+"》成功!");
System.out.println("***************************");
break;
}
if(name[name.length-2] !=null){
System.out.println("DVD货架已满,添加失败!");
System.out.println("***************************");
break;
}
}
}
break;
case "2":
System.out.println("--->查看DVD");
System.out.println("序号\t状态\t名称\t\t借出日期\t借出次数");
for (int i = 0; i<name.length; i++){
if(name[i] == null){
System.out.println("***************************");
break;
}
String myDate = " ";
if(date[i] != 0){
myDate = date[i]+"日";
}
System.out.println((i+1)+"\t"+state[i]+"\t"+"《"+name[i]+"》"+"\t"+myDate+"\t"+count[i]+"次");
}
break;
case "3":
System.out.println("--->删除DVD");
System.out.print("\n请输入DVD名称:");
String delName = input.next();
//define index monitor: check
int check = -1;
for(int i = 0; i < name.length; i++){
if(delName.equals(name[i])){
check = i;
break;
}
}
if(check != -1){
if(state[check].equals("可借")){
//Delete operation
for(int j = check; j < name.length-1; j++){
name[j] = name[j+1];
state[j] = state[j+1];
date[j] = date[j+1];
count[j] = count[j+1];
}
System.out.println("删除《"+delName+"》成功!");
System.out.println("***************************");
break;
}else{
System.out.println("DVD为借出状态,不允许删除!");
System.out.println("***************************");
}
}else{
System.out.println("没有找到匹配信息!");
System.out.println("***************************");
}
break;
case "4":
System.out.println("--->借出DVD");
System.out.print("\n请输入DVD名称:");
String lendName = input.next();
//Initiate lendDate with 1, so as to enter the do-loop
int lendDate = 1;
System.out.print("请输入借出日期:");
//Avoid user input wrong date
do{
lendDate = input.nextInt();
if((lendDate<1)||(lendDate>31)){
System.out.print("必须输入大于等于1且小于等于31的数字,请重新输入:");
}
}while((lendDate<1)||(lendDate>31));

//define index monitor
int index = -1;
for(int i = 0; i < name.length; i++){
if(lendName.equals(name[i])){
index = i;
break;
}

}
//lend operation
if(index != -1){
if(state[index].equals("可借")){
state[index] = "已借出";
count[index] +=1;
date[index] = lendDate;
System.out.println("借出《"+lendName+"》成功!");
System.out.println("***************************");
}else{
System.out.println("《"+lendName+"》已被借出!");
System.out.println("***************************");
}
}else{
System.out.println("没有找到匹配信息!");
System.out.println("***************************");
}
break;
case "5":
System.out.println("--->归还DVD");
System.out.print("\n请输入DVD名称:");
String returnName = input.next();
//define index monitor
int monitor = -1;
for(int i = 0; i < name.length; i++){
if(returnName.equals(name[i])){
monitor = i;
break;
}

}
//Initiate myLendPeriod with 0, and enter the do-loop
int returnDate = 0;
int myLendPeriod = 0;
do{
System.out.print("请输入归还日期:");
//Avoid user input wrong date
do{
returnDate = input.nextInt();
if(monitor != -1){
myLendPeriod = returnDate - date[monitor];
}
if(returnDate > 31){
System.out.print("一个月只有31天,请重新输入:");
}
if(myLendPeriod < 0){
System.out.println("归还日期不能小于借出日期,请重新输入:");
}
}while((returnDate>31)||(myLendPeriod<0));
//Return operation
if(monitor != -1){
if(state[monitor].equals("已借出")){
state[monitor] = "可借";
date[monitor] = 0;
System.out.println("归还《"+returnName+"》成功!");
System.out.println("借出日期为:"+date[monitor]+"日");
System.out.println("归还日期为:"+returnDate+"日");
System.out.println("应付租金(元):"+myLendPeriod);
System.out.println("***************************");
}else{
System.out.println("该DVD没有被借出!无法进行归还操作。");
System.out.println("***************************");
}
}else{
System.out.println("没有找到匹配信息!");
System.out.println("***************************");
}
break;
}while(myLendPeriod < 0);
break;
case "6":
flag = false;
break;
default:
}
if(flag){
System.out.print("输入任意值返回:");
choice = input.next();
}
}while(flag);

//program exit
System.out.println("程序结束");
}
}

时间: 2024-10-09 09:55:16

MINIDVD的相关文章

java基础&lt;迷你DVD系统&gt;

一.写在main方法中 1 import java.util.*; 2 3 public class MyDVDMgr { 4 public static void main(String[] args){ 5 Scanner input=new Scanner(System.in); 6 //是否退出系统,false代表退出系统 7 boolean flag=true; 8 //DVD相关信息,最多只能存储6个DVD信息 9 String[] name=new String[6]; //DVD

视频相关术语【转】

转自:http://blog.csdn.net/qfnu08zzr/article/details/6763150 版权声明:本文为博主原创文章,未经博主允许不得转载. AAC AAC全称高级音频编码(Advanced Audio Coding),将是 AC3 音频编码的替代者.在AC3基础上,AAC从多方面对其进行了改进.(不过)当前的播放器和硬件对于这种即将到来的音频格式支持仍旧十分有限. Authentication 认证 在一部电影能够播放以前,播放器和碟片之间必须建立一种它们能在其中彼

JavaSE学习总结(七)—— 集合

目录 一.为什么需要集合 二.Java常用集合类型 三.List与ArrayList 3.0.Collection常用方法 3.0.1.添加功能 3.0.2.删除功能 3.0.3.判断功能 3.0.4.遍历功能 3.0.5.长度功能 3.0.6.交集功能 3.0.7.把集合转换成数组 3.1.List接口 3.2.ArrayList 3.2.1.List基本操作 3.2.2.LIST操作二 四.Map与HashMap 4.1.HashMap 4.1.1.Map基本操作 4.1.2.Map操作二

简易DVD查询系统(Java半学年成果)

值此2018年最后一天,决定上传一下我上个星期做好的DVD查询系统(java): 虽然自己觉得应该会有更简单的方法,但苦于知识的薄弱,暂时只能用这样较为繁琐复杂的方式来实现: 如果以后有新的方法,我会在此文下附上: 以下是我自己做好并在Eclipse上运行试验好的源代码,如有不足还望谅解. 这是DVD任务管理器的主界面: 1 package day20181224; 2 3 import java.text.ParseException; 4 import java.util.Scanner;

一篇令所有游戏圈的兄弟汗颜的文章

回想起上个世纪末,华人游戏圈还处于原始阶段,那时候随便竖几条枪占个山头就敢说自己是做游戏的,拿出来的东西勉强有个模样就不错了,Bug少点那得是国货精品.真正的国货精品又怎么样?一些玩家说:"玩过FF6我才知道我们的精品(<仙剑奇侠传>)跟人家的差得那么远."那还是跟FF6比,现在的仙剑奇侠传3跟FF7又是什么差距呢?天晓得.但在中国,人们就认为<仙剑奇侠传>是最好的RPG.总结这种现象的时候,很多人不约而同地把"中国语言和地道的民族题材"当作

lakka

这些标准列表文件名如下(暂时只给出常见主机的,太过稀奇的估计大家也不好找ROM)以下按机种英文名排序: Atari - 2600.lpl --- 雅达利2600家用游戏机Atari - 5200.lpl --- 雅达利5200家用游戏机Atari - 7800.lpl --- 雅达利7800家用游戏机Atari - Jaguar.lpl --- 雅达利美洲豹家用游戏机 Bandai - WonderSwan Color.lpl --- 万代天鹅彩色版Bandai - WonderSwan.lpl