出处:http://blog.51cto.com/softi/1961056
因为现在只学习了基本语法,所以在综合练习之前,先补充关于方法概念。
方法的作用:把一系列的代码放在一起,然后再取个别名。之后通过这个别名的调用,就相当于执行了这一系列的代码。
方法的语法:([]中的内容表示是可选的)
方法就讲到这儿吧,下面开始今天的内容。
========================永远的分割线君========================
单身狗租赁系统功能分析:
因为还没有学习面向对象,所以我们所有的代码都写在单独的一个类文件中,然后再在main中调用。现阶段只需要知道这个语法,不用管概念。
第一步:搭建项目架构
创建SingleDogManager类,里面包含单身狗的数组和所有的功能方法:
第二步:编写主菜单功能
主菜单当然就是主要显示菜单用滴,在主菜单上选择功能可以调用对应的方法,在对应方法中应该可以返回主菜单。分析发现,在查看、新增、删除等方法中,执行完后都需要让用户返回主菜单,所以我们把返回主菜单再单独写一个方法。
在main中编写如下代码就可以测试运行效果了:
结果:
经测试,项目框架已经搭建OK了。接下来就是一个一个实现功能了,一般软件在运行时都会有个初始化过程,我们这个项目可以在运行的时候就初始化一些单身狗信息(一个店开业时,总要有商品可以租售吧 - -)。所以可以再添加一个初始化方法。
main方法修改,在调用主菜单之前,先初始化数据。
第三步:编写查看功能
因为日期类型默认显示效果是“Wed Aug 30 10:37:43 CST 2017”这样滴,所以单独写个方法用来进行日期类型的输出
注意:
在循环遍历数组元素时,记得把null元素过滤掉。
运行效果:
第四步:新增功能
新增数据两个要点:1.找到第一个空的位置,2.新增的数据肯定是未借出的,所以只需要输入昵称和性别即可(编号自动生成4位数)。
运行效果:
第五步:删除
删除时需要注意:1.已出租的不能删除,2.找不到的必须提示不存在
运行效果:
已借出和不存在的数据,各位看官可以自己试试哈。
第六步:借出
出租的话,肯定是能让用户选择的,所以我们先显示出所有的单身狗,然后再让用户输入编号再借出。要注意:已借出的不能再次借出。按道理应该只显示出所有未出租的,这段代码和前面的查看非常类似,很多新手在这儿就会把前面的代码Copy过来再改改就继续用了。
但是!!!!!
我们可以使用重构代码的方式,把可以重复使用的代码单独放到一个方法用反复调用,千万不要改相似度太高的重复代码!!!!
============================================================
重构操作步骤:
1.选中你打算复制了去改的这一段代码,然后点右键,再根据图选择对应选项。
2.给方法取名
3.因为该方法需要按不同的需求显示不同的数据,所以加一个参数用来决定如果显示数据,同时修改一下代码
4. 修改查看方法中的代码,给方法传值-1
===========================================================
OK,我们继续完成借出的代码:
运行效果:
第七步:归还
因为是给广大单身狗或单身猿们,所以我们都是免费出租(其实是懒,因为要计算租金又要多写好些代码 - -),哈哈哈!!!
归还和借出是刚好相反的操作,所以我们可以再次修改showDog的代码,让他可以传值1进去显示所有已借出的Dog。另外,因为和借出的功能非常类似,所以同样可以把借出中的相同代码重构成方法,然后再调用。
1.修改showDog()方法中的代码,再加上else部分,因为这儿只有三种状态,所以可以这样写,如果状态更多的话,那代码还可以优化:
2.重构借出的代码
3.借出和归还的代码:
运行效果:
OK,一个最精简版本的《单身狗租赁系统》到此就告一段落了,建议各位程序员先自己尝试着实现,如果碰到问题了,再参考上面的代码(上面代码只是面向初学者,所有很多地方是不够严谨的,特此声明)。如果有已经完成的程序员,可以再尝试加些功能上去,比如计算租金,修改某个Dog的信息等。
END