编程学了方法后大家肯定会感到晕的!呵呵,表晕(不要晕)!DVD信息管理这是个很好的例子,通过它让我们一起来复习下方法的调用以及方法的参数传递!
题目大家都比较了解吧!就是一套管理系统!下面我们就进入主题:
先来总体来看下要实现的功能:(主要是操作层的方法)
没画全哦!抱歉,呵呵!
————————————————————————
呵呵!表晕哦!
先分析下软件要实现功能用户根据选择菜单,来进行操作!实现DVD信息查看,DVD借出,我有加了个管理员的功能,呵呵!目标明确了,就要开始写了,这里我们采用三层结构:
主要分为数据层,用户层,和操作层,
下面我们就一层一层来讲,其实编写软件时就是要分为一些模块的。这样会很清晰
先来看下数据层(一个方法!)
在这里声明一些我们要用到的数组,注意要是成员变量,然后通过一个方法给数组赋值,写一个初始化方法
,到这里数据层就完了。
操作层(个方法):通过图1大家能看出 操作层的文件最大,呵呵!这里我们主要讲的就是它,先理解下操作层,用户通过操作来实现一些功能,都通过一些什么操作呢?大家先想想,1,有菜单界面供用户选择,2,有查看影碟的操作,3借出影片的操作,…………现在大家是不是觉得思路很清晰了,那我们就一步一步来实现它(方法的数量都只带本身的!呵呵!就是写下统计下,玩呢!)
A:主菜单(1个方法)用来显示软件菜单界面的!是一个总的方法,并根据相应的菜单去调用下面的菜单!如果这个不会的话,MY
god ,得恶补!呵呵!
呵呵!主要就是这些,简单吧!
————————
B:查询DVD(1个方法):用一个循环来实现查询的功能,因为数组的查询是通过下标的,而且下标是有规律的,在显示的时候还要判断是否显示完了,因为我们不可能把数组的空间全部存满的,后面有空的,所以我们要遇空跳出循环,
对于String
q=Data.state[i]==0?"已借出":"未借出"; 的意思就是:如果Data.state[i]==0那么q的值为"已借出"
反之(就是不等于0)q的值为"未借出",比用if写简单得多,这里主要注意的就是:调用数组来显示信息!呵呵
————————
C:借出DVD(共用到3个方法):我们要接收用户输入的影片编号,(并在未借出的数组中去循环查找,返回一个boolean值,如果有这个编号则为真,跳出循环,否则直到循环结束,返回假值)
这里我把判断是否有没有做成一个方法,查找成功后,我们还要在state[]数组里将该编号的影片状态标记为0(已借出);这里我也用了一个方法,总得来理解就是,当用户进入借影片的界面时,提示输入要借的影片编号,并调用方法去查找该影片是否为未借出状态,并返回值,根据值去判断,如果借出成功,再调用一个方法来改变状态数组中的该影片状态,这里用到了传参的方法,我们要把要改的数组下标和数组传给这个方法!呵呵!
————————
D:未借出的方法(1个方法):这个方法其实要求没有的,是我自己加上的,
它主要是实现在state数组中去查询值为1的数,并根据这些数在name数组中去查找名字,一起显示,我写这个方法的主要功能是后面一句,把找到未借出的数,写入未借出的数组,为什么呢?因为咱们在借出的方法中要根据用户输入的数去查询是否为未借出状态的,其实不用这么麻烦的,完全可以直接在state数组中去找的!呵呵
————————
E:返回的方法(1个方法)
呵呵!我们进入菜单后,并不是“勇往直前”的,有时还要返回上一级的菜单,
因为几乎每个菜单都要用到的,总是写挺烦的,所以建议大家把返回的代码写成一个方法!在每个需要返回的地方直接调用就OK了!
呵呵!现在,用户的功能就实现了!
————————下面就是管理员的了,有兴趣的一起来吧就当作提高吧
先了解下管理员的操作流程:1,要先登录,2,添加影片,3删除影片,4注销
下面我们就一个一个去实现!follow me!
————————
F:登陆(1个方法): 这里就不用详细的去讲怎么实现判断是否为合法用户!注意在实现是要有次数限制
————————
G:添加影片(用到N个方法):(我晕了,都数不清了
)
这里主要就是对数组的操作,先想下怎么去添加,要让管理员输入影片名,并在name数组中去查找,(遇空跳出,几乎所有的查找中都要用到吧 呵呵!)找空位,把用户输入的插入该位就行了!
最后再问是否继续,如果不继续就问是否查看所有的影片,可以让管理员快速的看到添加的结果,就要调用上面写的显示影片的方法了!呵呵!还要有一个返回管理菜单的方法!
————————
H:删除影片():
这个删除方法其实说明白就是换位大家先来看下代码!
呵呵!就是从要删除的位开始 把后面的向前替换,用循环,呵呵 完后就是删除的效果!
到这里基本就是完了吧!下来就是用户层了:(就是测试类!)
I 用户层:
没什么难得吧!
看组完后的操作图吧!: