import java.util.Scanner;
public class TestDvd {
public static void main(String[] args) {
DvdUtil util = new DvdUtil();
//放dvd的名字
String[] names=new String[7];
//放借出次数
int[] counts=new int[7];
//0 1 状态 1已借出0可借
int[] status=new int[7];
//借出日期
int[] dates=new int[7];
names[0]="姜子牙";
names[1]="花木兰";
names[2]="夺冠";
//借出次数
counts[0]=13;
counts[1]=14;
counts[2]=15;
//状态
status[0]=0;
status[1]=0;
status[2]=1;
//借出日期
dates[2]=13;
Scanner input = new Scanner(System.in);
int con=-1;
do {
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.print("--------------------------------------\n");
System.out.print("请选择: ");
int choice = input.nextInt();
switch (choice) {
case 1:
System.out.println("实现新增dvd的功能");
util.add(names);
break;
case 2:
System.out.println("实现查看dvd的功能");
util.getAll(names,status,dates,counts);
break;
case 3:
System.out.println("实现删除dvd的功能");
util.delete(names);
break;
case 4:
System.out.println("实现借出dvd的功能");
util.lent(names, counts,status);
break;
case 5:
System.out.println("实现归还dvd的功能");
util.back(names, counts, status, dates);
break;
case 6:
System.exit(0);
break;
default:
break;
}
System.out.println("输入0继续");
con=input.nextInt();
}while(con==0);
}
}
import java.util.Scanner;
public class DvdUtil {
//查看dvd的所有数据
/*
* main中定义的变量是局部变量 查看main方法中的数组,getAll()不可以直接访问mian中的局部变量 访问main中的变量需要传参
*/
public void getAll(String[] names,int[] status,int[] dates,int[] counts) {
System.out.println("序号\t名字\t状态\t归还日期\t借出次数\t");
for (int i = 0; i < names.length; i++) {
if(names[i]==null) break;
if(status[i]==0) //0可借
System.out.println((i+1)+"\t"+names[i]+"\t"+"可借"+"\t"+dates[i]+"\t"+counts[i]);
else//1已借出
System.out.println((i+1)+"\t"+names[i]+"\t"+"已借出"+"\t"+dates[i]+"\t"+counts[i]);
}
}
//新增dvd
//把新增的dvd放在那哪里?放在数组,数组在main中,不能直接访问,所以还需要传参
public void add(String names[]) {
Scanner input=new Scanner(System.in);
System.out.println("请输入新的DVD名字:");
String name=input.next();
//要看数据是否有空位置,如果有空位置,可以新增,如果没有,则提示空间已满
//找空位置
//放空位置下标
int index=-1;
for(int i=0;i<names.length;i++) {
if(names[i]==null) {
index=i;
break;
}
}
if(index==-1)
System.out.println("空间已满!");
else {
if(exists(names,name))
System.out.println("要添加的DVD已经存在,新增失败!");
else {
names[index]=name;
System.out.println("新增成功!");
}
}
}
//判断是否已经存在要添加的DVD
//存在返回true,不存在返回false
public boolean exists(String[] names,String name) {
for (int i = 0; i < names.length; i++) {
if(name.equals(names[i]))
return true;
}
return false;
}
//删除DVD
public void delete(String names[]) {
Scanner input=new Scanner(System.in);
System.out.println("请输入要删除的DVD名字:");
String name=input.next();
//查找要删除的DVD是否存在,若存在,则删除,若不存在则提示删除失败
int index=-1;
for (int i = 0; i < names.length; i++) {
if(name.equals(names[i])) {
index=i;
break;
}
}
if(index==-1)
System.out.println("要删除的DVD不存在,删除失败!");
else {
int i;
for ( i = index; i < names.length-1; i++) {
names[i]=names[i+1];
}
names[i]=null;
}
}
//借出DVD
public void lent(String names[],int[] counts,int[] status) {
Scanner input=new Scanner(System.in);
System.out.println("请输入要借出的DVD名字:");
String name=input.next();
//查找要借出的DVD是否存在,若不存在,则借出失败,若存在,则借出
int index=-1;
for (int i = 0; i < names.length; i++) {
if(name.equals(names[i])) {
index=i;
break;
}
}
if(index==-1)
System.out.println("要借出的DVD不存在,借出失败!");
else {
counts[index]++;
status[index]=1;
}
}
//归还DVD
public void back(String names[],int[] counts,int[] status,int[] dates) {
Scanner input=new Scanner(System.in);
System.out.println("请输入要归还的DVD名字:");
String name=input.next();
//Scanner input=new Scanner(System.in);
System.out.println("请输入归还的日期:");
int date=input.nextInt();
//System.out.println(date);
//找到要归还的DVD
//int index;
int i;
for (i = 0; i < names.length; i++) {
if(name.equals(names[i])) {
//index=i;
break;
}
}
counts[i]--;
dates[i]=date;
if(counts[i]==0) status[i]=0;
}
}