OPP第三次博客作业
1.前言
这次博客不出意外是我们Java课程的最后一次博客了,不过这次博客pta只有两题,但真的挺难的,尤其是最后一个,我自己的设计也有很大的问题,第七次pta遗留下了一点点问题,导致第八次出现了很多问题,导致在后面要大篇幅的改,之后改完以后又不明白之前的写的代码有啥用,修修补补。
①7~8题目集的知识点:
物理中的电路知识
类之间的合理设计
多个类的处理
② 题量
这两次题集一题集都只有一题,题量少。
③ 难度
本人认为第七次的难度还是中等的,因为这次的迭代并没有颠覆我的设计,所以我可以继续按我以前的逻辑写,
不过还是有几个测试点过不了,就是那种特别分散的测试点,我改了好久都没有找出来,后面在写到第八次大作业才发现,是我的风扇类的输出有点问题,就是我的数据是19.99997,强转一下就变成了19,而答案是20,问题就是在计算的时候出了一点问题
第八次pta就比较的难写了,尤其是后面还加了几个测试点,就有点过不了测试点,不过我的程序也确实有点问题
第八次题集--家居强电电路模拟程序-4,刚看到题目的时候,非常震惊啊,要输出引脚信息!,在之前的迭代中,我根本没有用到过设备的引脚,因为这个引脚我不太会用,不知道如何运用,所以我采用计算电阻来分配电压的方法来计算亮度、转速。增加管脚电压的显示,其他的增加还有:电流限制,短路检测,二极管,并联电路中包含并联。我刚刚开始的设计就有点缺陷,后面一直在改,测试点也没有过几个。
2.设计与分析
我的设计主要是按照题目所给的类设计建议来设计的,有输入类,输出类,用电器类,串联类和并联类来处理的,之后就是在输入的时候找到主路,从主路作为突破的,利用递归来解决电路的串联和并联问题。其中的主要设计还是在串联类中。
家居强电电路模拟程序-3
这是我的类图设计,我专门设计了一个数据类存储数据来让其他类来使用其中的数据
通过上面的分析,可以发现这次我的圈复杂度更之前比起来好了不是一星半点,说明我的大改还是有点用的,不过还是有几个圈复杂度比较高需要进一步修改,我重新看了一下自己的代码,发现主要问题还是出现在串联类中,逻辑实在是太混乱了,没有好好的设计。
家居强电电路模拟程序-4
这个类图相对上一次pta来说并没增加什么,主要是在处理复式开关和二极管,然后就是在电压的处理和输出,我刚开始的设计就是根据电压差来处理,后面发现没用,后面便想到通过主路的电流来处理,每一个串联电路分为输入电压和串联分压,并联同理。
看到圈复杂度为9的时候,人都懵了,咱就问明明没添加啥东西,测试点也没有过几个,咋圈复杂度加了这么多em我又重新看了一下我的代码,天杀的,主要问题还是在处理这复式开关电压和二极管这,我考虑了好多情况,加了好多好多if,em罪恶源泉就是我自己没用设计好(/(ㄒoㄒ)/~~)
3.踩坑心得
第7次题集中只有几个错误一直都改不成功(印象中)后面在第8次pta中,才发现我是在风扇类输出有问题,真的哭死,真的找了我好久,就是实际电流是19.99997,我强制转换一下就变成了19,答案是20,那种无力感em,第8次题集真的最后一刻乱改后全是答案错误,改了一个稀巴烂后面只有35分em,还花了我差不多俩天,真的挺离谱的
代码设计思路的恰当选择:当时在家居强电电路模拟程序-1的时候,看不懂设备的两根引脚干嘛用的,后面写家居强电电路模拟程序-2这道题目的时候,彻底抛弃了引脚这一部分,就直接通过输入设备名来创建设备,所以当家居强电电路模拟程序-4要显示各个设备的引脚的时候,我就知道我这方法不太行了,指定过不了。还有就是类与类之间的设计, 对一些特殊情况的处理不对,答案一直都有错误,实际上我觉得就是对情况的分类不准确,有些特殊情况想不到。
5.总结
首先,通过这俩次题集,我认识到我还是不够细心,考虑不周全,有很多特殊情况并没有考虑到,在之后的学习中,我需要更加完善,提高自己的代码能力。其次,通过写这俩次题集,我收获良多:
对题目的理解至关重要,真的要好好地去设计自己的代码,不设计好来是真的难受,就是一直在改,改来改去还得不到几分的那种无力感,太难受了,啊啊啊!
然后就是多用debug,debug真的是好东西,我在debug的过程中发现了自己好多的逻辑问题
然后,以下是我总结出来还需进一步学习和研究的地方:尽量减少代码复用部分好的代码应该是简洁,复用性低的,有待改善!
最后,这是最后一次博客作业了,下面是对咱们教师、作业、实验、等方面的改进建议及意见,
老师方面:老师上课真的上的很好,真的好生动,有好几次醍醐灌顶,真的好爽,虽然我学的不咋地,但我还是觉得老师真的讲课讲的好,给老师点赞!
作业方面:我们的作业主要是在pta上,咱pta是真的好东西,我的编程能力说实在提高了好多好多,但还是有点不足,不足之处就是我在写完一次作业后得不到一个及时的反馈,对于那些得满分的同学其实还好,但对我这种都没有拿过几次满分的人问题可就大了,我是不知道自己问题到底出现在哪里,问同学也不知道,因为他们都是一遍过,我基本上得不到什么有用的反馈,我的问题是一直都在积累的,一直都是得不到解决的,这是对于我个人的见解,希望老师能够每次写完一个pta给出一定的提示,老师可能会觉得这不是会影响下一次的难度吗,我认为,如果不让我们自己解决问题才是真的的问题,老师可以加难度,但希望一定要在写完一次pta给出一定的提示,不然对我我这种拿不到满分的人问题是真的大,我在写题的时间真的已经很多了,我需要一定的提示来打破在某些逻辑的缺陷,不然我的问题真的会越来越多,因为得不到及时的解决。
实验:那个实验提交系统是真的搞人,我一直都运行失败,我明明在idea中运行的好好的,可一到了提交系统上就出现了一系列的问题em
最后,还是得要感谢老师的辛勤付出over
本文作者:lwj1
本文链接:https://www.cnblogs.com/lwj1/p/18276963
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步