Phone作业
这次作业难度颇高啊。。。大家都问,我写一篇吧。

这一部分大部分同学应该是都会的,创建类与方法,变量的命名写得很清楚,方法也描述的很明白了,不做赘述。

这一块相比上一部分难度提升不大,构造方法的写法在之前的课上讲的很清楚了,上一次作业也用到了构造方法,搞不懂的同学请自行往回翻。
注意这部分提到了重载方法,重载方法指在同一个类中我写了多个名字相同的方法,但它们的参数数量不同,如:
void f(int i)
void f(int i,char j)
当调用方法时,系统会根据你提供的参数数量来选择应调用的方法,注意:
void f(int i,char j)
void f(char i,int j)
虽然参数的数据类型不同,但由于参数数量相同,系统无法分辨应该调用哪个方法,需避免这种写法。



问题主要集中在这一部分了
Game类中的play方法,需要你上传一个时间time,然后计算所消耗的流量,有的同学被题目要求的说法绕晕了,time是上传的参数,而方法的返回值是消耗的流量,方法在返回一个值的时候只能返回一个值。
安装游戏和卸载游戏是问的最多的了,一定要理清games数组和gamecount的作用。假设已经安装了gamecount个游戏,接下来再安装时只要把gamecount+1,games【gamecount】就会有一个空位来存这个新的游戏。
卸载游戏时有的同学在纠结数量的问题,老师要求说不要考虑那么多。理性的想当你已安装五个游戏,在卸载三个游戏后再要求卸载所谓“第四个”游戏是不合理的,这里不要考虑那么多,要求你卸载第x个游戏时直接把games【x】处理掉就行了。
最后一条要求,前两项好解决,最后一项要求就是把games数组从头到尾遍历一遍,将里面还保存着的游戏输出出来,这里有的同学不知道怎么把游戏名字输出,我这里提供一个思路:在Game类中添加一个字符串类型的变量,用来存储游戏名(假设变量名为name),在前面安装游戏时不要忘记把games【i】.name更新上,这样在遍历时就可以直接输出游戏名了。

最后这一部分就没有上一部分那么难了,在将实例变量改为private后我们不能直接在外部修改变量或访问,只要定义get方法和set方法就能达成这两个需求了,记住用不同修饰符修饰的对象的访问权限。
test里把上面的方法调用一下就OK了。
最后注意一点,类数组在声明完后不能直接使用,必须分配空间,有的同学可能觉得这样就OK了

但类中的每一个元素都是一个对象,既然是对象没有分配空间自然无法使用

加上这段代码后,像这样就可以正常使用game【1】到game【6】了。
(刚开始写博客没多久,文章可能不太美观,我会继续研究的!)

浙公网安备 33010602011771号