标签:alt 有关 选择 有一个 src 重复 事先 运行时 重要
(一)前言:
此次题目集的数量不多,但每一个题目的难度比较大,涉及的知识面较多。此次题目的难度有浅入深,逐步递进。先只有简单的类的使用,后面则是不同类之间相互有关,联系紧密。
(二)设计与分析
题目集七-1、-2
两题目类图如上:
这两个题目的设计思路是差不多的,先定义好父类Shape,各种图形类继承父类。Card类实现可比较的接口,这样就可以方便的对链表中的成员进行排序。Card类中有Shape类成员。程序运行时,将输入的数据转变类Shape类并存在Card类中,然后将所有的Card类存入一个链表并作为DealCardList类的成员进行处理并输出。在七-1是图片不需要进行分类,可以直接输出。在七-2的题目中,它需要将不同的图形进行分类输出,于是我就在DealCardList类中多加了各个图形的链表分别存储数据,在进行处理输出,本质上与第一次的差不多。
踩坑建议:
我在进行图形的排序时一开始写不好,因为我并清楚sort是用哪个类的,所以一直出错,我甚至都打算用选择排序来进行排序,但那样有太浪费时间,但最后我还是上网查才写好。
改进建议:
我认为Card类和Shape可以写在一起,这样更方便理解。
题目集八、题目集九
类图如上
这两个题目也是差不多的思路,当题目九的功能要更全面,都多。先入类图定义好各个类之间的关系。定义好数据。由于在拿到输入的字符串找卡,所以在每个类中都有上个类的数据方便查找。
踩坑心得
1、开始时我没有检查定义好的数据(太多了),导致少了一个(重复了),然后就有一个测试点过不了,最后还是在测试所有的卡号的时候才发现有个数据没写好。
2、在一开始的题目集八找卡的时候,我是直接对所有卡号与字符串进行对比才找到,后来我在题目集九时通过for循环来遍历所有卡号来找卡,更合理。
3、在题目九中进行手续费的扣除时,我事先没有处理好扣钱的部分以及扣钱的顺序,这可能导致我后面有些测试点过不了。
改进建议
无
总结:在后面的两个题目时,类与类之间聚合,以及成员与功能分开,这就需要提前进行分析,这很重要。
标签:alt 有关 选择 有一个 src 重复 事先 运行时 重要
原文地址:https://www.cnblogs.com/fanqinghua/p/14889788.html