《Java从入门到放弃》JavaSE篇(五):练习——单身狗租赁系统(数组版)

出处: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

本文分享自微信公众号 - 程序员的成长之路(cxydczzl)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-09-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励