Java4~6次大作业题目集的总结性Blog
- 前言
- 这两次大作业无疑就是更好学会面向对象编程了,并且是新添加的信息能够合理处理然后使用。
- 题量不大,只是在之前的代码上运用开闭原则修改代码,但我还是不能能很好掌握开闭原则。
- 难度有点大了,第八次大作业在之前的基础上添加了并联里有并联,小脑不够思考了。
- 这两次大作业中,第七次大作业不难,当时提交后发现错了,很快就改好了,但是第八次大作业就让我难办了在其他都完成的基础上,唯独一个管脚电压让我花了很长时间都没有写出来,使用递归的方法总是无限递归下去,在算总电阻时也用了递归,当时也花了好多时间,但最后还是自己没把握好时间没完成管脚电压部分的。
2.设计与分析
第七次大作业
类图
耦合度
解释
第七次大作业不难,互斥开关这部分下了点功夫,其他很好处理,在处理互斥开关时只需要获得脚码,然后就很好处理信息了,并不是想象中那么难,窗帘也只需要获取lux最后大小就很好处理了,串联里有串联有时候也可以当作一条电路来看,也是很快处理完了,当时一开始不确定互斥开关是不是只会在开头或结尾位置,也是思考了很久。
心得
第七次大作业不难,测试点也不***钻,当时写完代码测试了一下,发现只过了部分测试样例都没过,心慌了一下,但我发现有提示,根据提示想了几个测试点,一测果然出现了问题,就这样想了几个测试点,很快就改完了代码,写完的时候浑身轻松了。
第八次大作业
类图
耦合度
解释
这次题目多了并联电路里有并联电路,而且还要输出管脚电压和是否超出限定电流,基本上使用的还是上一次大作业的方法,但是多了一个并联电路嵌套后,发现自己的代码始终无法做到开闭原则,修改了一下处理电路的方法,重新设计了计算电阻的方法,使用递归计算了总电阻,这个方法花了几个小时去完善,然后是判断限定电流,发现有情况会输出null,也是花了很多时间修改,最后就是计算管脚电压,自己是真没把握好时间,同理使用了递归的方法计算管脚电压,但最后出现了递归中最让人头疼的事,递归无限进行下去了,脑子一大,当时啥也不会了。
心得
还是要多花时间,就一个递归给我脑子整大了,总是出现无限递归下去的情况,而且在递归中处理管脚电压时也会出现有些设备的管脚电压没有记录到的情况,单纯是自己没有处理好代码之间的关系,还是得多花时间。
3.踩坑心得
- 踩的最大的坑就是限定电流判断的方法了,一开始想着输出时要加英文空格,又在exceeding中前加了一个空格,最后我想这通过get方法得到exceeding,但是正如代码中的“”,判断后得到exceeding时,我一开始用getExceeding().equals(“”)来判断,结果一直报错提示我exceeding is null的情况,我就想了好多方法,不报错后又输出了null,当时我真的是头大,最后用了==就解决了,改了输出格式也终于输出正确了,但组后还是管脚电压查了没解决。
2第二个坑就是在计算管脚电压时出现了一些无穷小数,计算时会出现一些精度问题,加入了这个代码后也是改成功了。
4.改进建议
最需要改进的就是第八次大作业中求总电阻和计算管脚电压的方法,一开始问了一下舍友有什么方法处理,给了递归的方法建议,然后就开始修改代码使用递归的方法,但是最后也是出现了无限递归的情况,修改的地方就在如何更好处理递归的处理了,还有就是代码的精简度了,写到一千五百多行代码时,看舍友才一千行左右,自己的代码还是太复杂了。
5.总结
Java学习还是要靠自己,一些新方法还是要自己主动去学习才能更好掌。通过这两次大作业,我深刻体会到了面向对象编程的重要性以及处理好代码的合理性。学会了如何更合理地设计类和处理特殊情况。虽然在过程中遇到了一些难题,就像踩的那几个坑,但这些经历帮助我认识到了全面考虑问题的必要性。而且也我意识到简化类设计和提高代码复用性的重要性,做到开闭原则,进一步学习一些基本代码逻辑,一些逻辑错误报错总是难以避免。
6.面向对象编程课程的改进建议和意见
改进建议:我觉得要改进的是如何提高学生学习和完成代码的积极性了,每次都看到pta里面代码的完成情况有时都不是很好,每次都出现有人没有完成的情况,而且都是临期提交情况才提上去了,明显就是积极性不高,想来还是要从这方面改进。
意见:增加课堂互动, 提高课堂效率,提高学生积极性就很有用了。