我的一个项目总结

import java.util.*;
public class MiniDVD{
static int i=50;
static int z=3;


public static void main(String[] args){
DVDmgr.initial();         
int j=3;
qw: for (; ; )
{
System.out.println("欢迎使用迷你DVD管理器");
System.out.println("-------------------------------");
System.out.println("1.新增DVD\n2.查看DVD\n3.删除DVD\n4.借出DVD\n5.归还DVD\n6.退出");
System.out.println("-------------------------------\n请选择:");
Scanner input=new Scanner(System.in);
int choose=input.nextInt();           //选择进入的选项
switch (choose)
{
case  1:{
z+=1;                             //参数 z 会被用到DVD数组的下标    z+=1  是在原本的数组中再开一个元素
j=z;                              //如 本来是 String[] names=new String[3]; 的   改变成 [4]
DVDmgr.add(z);                    //调用自定义的增加DVD的方法
   break;
}case  2:{
DVDmgr.acc(z);                    //调用自定义遍历DVD数组的方法
z=j;                              //没 z=j时  你查了一次正常    第二次就只会显示   [0]   的数了
   break;
}case  3:{
boolean is=DVDmgr.delete(z);       //调用自定义的删除DVD的方法
if (is)                            //判断返回值是true  还是false
{
System.out.println("已删除DVD");  //true 就输出这个内容   否则就输出下面的
z--;                           //因为你删除了一个元素 所以names[] 数组的个数减 1
j=z;                         
}else{
System.out.println("没此DVD");
}

break;
}case  4:{
DVDmgr.lend(z);                   //调用自定义的借出DVD的方法
break;
}case  5:{
DVDmgr.returnDVD(z);               //调用自定义的归还DVD的方法
}default :{
System.out.println("退出系统");   //退出
break qw;
}
}
}
}


}


class DVDmgr
{
MiniDVD cd=new MiniDVD();
static String[] names=new String[MiniDVD.i];    //DVD名
static String[] state=new String[MiniDVD.i];    //DVD是否借出
static String[] date=new String[MiniDVD.i];     //DVD日期
      //初始化
public static void initial(){
names[0]="罗马假日";
state[0]="借出";
date[0]="2012-2-1";
names[1]="风声鹤唳";
state[1]="存在";
names[2]="浪漫满屋";
state[2]="存在";
}
    //增加DVD的方法
public static void add(int z){
Scanner input=new Scanner(System.in);
System.out.println("请输入你增加的DVD:");
   String name="";
name=input.next();
int c=z-1;
            names[c]=name;           //names[c]   就是新创的一个元素
state[c]="存在";

return;
}
    //显示
public static void acc(int z){
System.out.println("序号\t状态\t名称\t\t借出日期");
   int num=1;
for (;z-1>=0 ;z-- )
   {
   System.out.println(num+"\t"+state[z-1]+"\t"+names[z-1]+"\t"+date[z-1]);
num++;
   }
return;
}
//删除
public static boolean delete(int z){
System.out.println("请输入你要删除的DVD:");
Scanner input=new Scanner(System.in);
String name="";
name=input.next();
for (;z-1>=0 ;z-- )
{
if (names[z-1].equals(name)&&"存在".equals(state[z-1]))
{
names[z-1]=names[z];       //把你要删除的元素被后面的元素覆盖掉
state[z-1]=state[z];
   date[z-1]=date[z];
return true;
}
}
return false;
}
//借出
public static void lend(int z){
System.out.println("请输入你要借的DVD和日期:");
Scanner input=new Scanner(System.in);
String name="";
String da="";
name=input.next();
da=input.next();
for (;z-1>=0 ;z-- )
{
if (names[z-1].equals(name))           //判断你输入的字符串再数组中有没有
{                                      //有就把state[]数组对应的“存在”改成“借出”
state[z-1]="借出";
date[z-1]=da;
System.out.println("借出成功\n租金:20元");
break;
}else{
System.out.println("没有此DVD");
}
}
}
public static void returnDVD(int z){
System.out.println("请输入你要归还的DVD:");
Scanner input=new Scanner(System.in);
String name="";
name=input.next();
for (;z-1>=0 ;z-- )                        //判断你输入的字符串再数组中有没有
{                                          //有就把state[]数组对应的“借出”改成“存在”
if (names[z-1].equals(name))
{
state[z-1]="存在";
System.out.println("归还成功");
break;
}else{
System.out.println("没有此DVD");
}
}


}
}



今天的项目测试让我知道了我的一些不足点

1.语文理解能力太差

这项目的题目内容我看了好久  而且看完后我还不知道是不是这样写

2.钻牛角尖

在写完一些代码后,编译错误时一直在想着不改那代码块改其他的代码,而浪费了3~4个小时搞到最后没写完全,虽然可以运行但不完全


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值