首页 > 其他分享 >OOP第二次blog

OOP第二次blog

时间:2024-06-09 22:14:37浏览次数:21  
标签:题目 档位 调节器 信息 blog OOP 电压 封装 第二次

不知不觉过去了这么久,又经历了三轮的PTA作业,到了写blog小结的时间,接下来给大家分析的第二次的PTA作业。

本次作业分为以下部分:

(1)总结三次题目集的知识点、题量、难度等情况。

(2)设计与分析:重点对题目的提交源码进行分析。

(3)采坑心得:对源码的提交过程中出现的问题及心得进行总结。

(4)改进建议:对相应题目的编码改进给出自己的见解,做到可持续改进。

(5)总结:对本阶段三次题目集的综合性总结,学到了什么,哪些地方需要进一步学习及研究。

前言:第一次的题目在之前的题目集上继续迭代,变得更加复杂,第二次题目集是在第一次题目集结束后重新开始的题目,所以并不是很复杂,然后第三次题目集在第二次的题目集上迭代,也不算是很复杂。

一.三次作业的内容:

1.第一次作业的模拟场景:

1)多张试卷、多张答卷的信息处理,
新增:输入选择题题目信息,多选题输出,多选题给分方式,输入填空题信息,填空题输出,填空题给分方式,输出顺序变化,多张试卷信息。
2)详细内容:
输入试题的信息(编号、题目、标准答案)、试卷引用信息(试卷号、引用的题目
号-分值)、答卷信息(试卷号、答案)、学生信息(学号、姓名)、删除题目信息(题
号)
输出试题每一题的答题、判题信息以及最后每一题的判分结果、总分。输入中出现
各类错误时输出对应错误信息。

2. 第二次作业的模拟场景:

1)单个用电器与开关间的关系。
2)详细内容:
输入设备的信息(设备标识,引脚编号),输入连接信息(引脚号),输入控制设备调节信息(设备标识,引脚编号)
按开关、分档调速器、连续调速器、白炽灯、日光灯、吊扇的顺序依次输出所有设备的状态或参数。每个设备一行。同类设备按编号顺序从小到大输出。

3.第三次作业的模拟场景:

1)单个以及多个用电器与开关之间的关系。
新增内容:用电器有电阻,考虑并联电路,风扇迭代落地扇。
2)输入设备的信息(设备标识,引脚编号),输入连接信息(引脚号),输入控制设备调节信息(设备标识,引脚编号),输入串联电路信息(电路编号和连接信息),输入并联电路信息(电路编号,串联电路信信息)1.
按开关、分档调速器、连续调速器、白炽灯、日光灯、吊扇、落地扇的顺序依次输出所有设备的状态或参数。每个设备一行。同类设备按编号顺序从小到大输出。

2.三次作业的设计与分析:

1.第一次作业:

1)题目类(Question):用于保存一道题目的信息以及处理的方法。(与系列 1 相同,无变化)

题目类(用于封装单个题目的信息):
属性:题目编号、题目内容、标准答案-standardAnswer,题目对应的答案列表
方法:数据读写set\get方法、
判题方法(答案-answer):判断答案-answer是否符合标准答案-standardAnswer;判断是否为有效题目

2)试卷类(TestPaper):保存和处理一张试卷的信息以及处理的方法。

试卷类(用于封装整套题目的信息)
属性:题目列表(题目类的对象集合)、题目数量,题目总分,试卷题号列表
方法:判题方法(题号-num、答案-answer):判断答案-answer是否符合对应题号的题目标准答案-standardAnswer
保存题目(题号-num、题目-question):将题目保存到题目列表中,保存位置与num要能对应;HashMap接口,key为题目编号,value为题目分值;题目总分值的计算。;获得总分。

3)答卷类(AnswerPaper):保存和处理一张答卷的信息以及处理的方法。

答卷类(用于封装答题信息)
属性:试卷(试卷类的对象)、答案列表(保存每一题的答案),学生学号,答卷的试卷列表
方法:判题方法(题号-num):判断答案列表中第num题的结果是否符合试卷中对应题号的题目标准答案,判断答案顺序是否与试卷答案相同。
输出方法(题号-num):按照题目的格式要求,输出题号为num的题目的内容和答题结果。
保存一个答案(题号-num,答案-answer):保存题号为num的题目的答题结果answer。

4)学生类(Student):保存和处理一个学生的信息

学生类(用与封装学生信息)
属性:学生姓名,学生学号
方法:sette/getter方法

5)删除类(Delete):保存和处理一个删除题目的信息

删除类(用于封装删除题目信息)
属性:删除题目号
方法:setter/getter方法

6)试卷题目类(Question_Paper):用于保存试卷中的题目信息。由于试卷中的题目序号与题
目本身的题号不一致。且题目在不同试卷中的分值可能不一样,因此,设计试卷题目类。

试卷类(用于封装试卷题目信息)
属性:题目顺序号,题目(题目类的对象),题目分值
方法:判断题目是否得分。

7)答案类(Answer):用于保存答卷中一道答案的信息。

答案类(用于封装答案信息)
属性:试卷题目(试卷题目类的对象),答案
方法:判断每一道题的正确性,判断每一道题的得分,计算总分,判断答案对应的题目是否失效

8)合法类(Valid):用于判断输入是否合法

合法类:(用于封装输入信息)
属性:字符串
方法:用正则表达式判断输入的信息是否合法。

9)填空题类(Question_fill):保存和处理填空题的信息

填空题类:(用于封装填空题信息)
属性:题目类
方法:判断填空题是否得分,输出填空题信息。

10)选择题类(Question_select):保存和处理选择题的信息

选择题类:(用于封装选择题信息)
属性:题目类
方法:判断选择题是否得分,输出选择题信息。

这是前三次作业的迭代,在前三次作业上面新增了题目类型和给分方式记忆多张试卷信息
这一次的作业我先设计好了类图,然后根据类图将一个个类完善好了,但是在输入输出的时候处理不好相关信息。所以完成度不怎么样。

二.第二次作业:

1)设备类(Device):保存和处理设备的信息

设备类:(用于封装设备信息)
属性:设备标识,电压
方法:计算电压(电压)

2)开关类(Switch):用于保存和处理开关的信息

开关类:(用于封装开关信息)
属性:状态
方法:计算电压(电压)

3)调节器类(Controller)

调节器类:(用于封装调节器类信息)
属性:档位,档位参数
方法:输出档位(档位),输出档位参数(档位参数)

4)分档调节器类(ContinueController)

加速调节器类:(用于封装加速调节器信息)
属性:档位
方法:加速(档位+),减速(档位-),计算电压(电压),输出

5)连续调节器(SpeedController)

连续调节器类:(用于封装连续调节器信息)
属性:档位参数
方法:计算档位参数(档位参数),计算电压(电压),输出

6)风扇类(Fan)

风扇类:(用于封装风扇信息)
属性:调节器
方法:计算电压(电压),计算风扇速度(电压),输出

7)灯类(Light)

灯类:(用于封装灯的信息)
属性:调节器,亮度
方法:计算电压(电压),计算亮度(电压)

8)白炽灯(DayLight)

白炽灯类:(用于封装白炽灯的信息)
属性:调节器,亮度
方法:计算电压(电压),计算亮度(电压),输出

9)日光灯(LightBulb)

日光灯类:(用于封装日光灯的信息)
属性:调节器,亮度
方法:计算电压(电压),计算亮度(电压),输出

本次的作业相较于之前的难度有所降低,并且能够理解题目所要求的内容。

3.第三次作业:

1)1)设备类(Device):保存和处理设备的信息

设备类:(用于封装设备信息)
属性:设备标识,电压
方法:计算电压(电压)

2)开关类(Switch):用于保存和处理开关的信息

开关类:(用于封装开关信息)
属性:状态
方法:计算电压(电压)

3)调节器类(Controller)

调节器类:(用于封装调节器类信息)
属性:档位,档位参数
方法:输出档位(档位),输出档位参数(档位参数)

4)分档调节器类(ContinueController)

加速调节器类:(用于封装加速调节器信息)
属性:档位
方法:加速(档位+),减速(档位-),计算电压(电压),输出

5)连续调节器(SpeedController)

连续调节器类:(用于封装连续调节器信息)
属性:档位参数
方法:计算档位参数(档位参数),计算电压(电压),输出

6)风扇类(Fan)

风扇类:(用于封装风扇信息)
属性:调节器
方法:计算电压(电压),计算风扇速度(电压),输出

7)灯类(Light)

灯类:(用于封装灯的信息)
属性:调节器,亮度
方法:计算电压(电压),计算亮度(电压)

8)白炽灯(DayLight)

白炽灯类:(用于封装白炽灯的信息)
属性:调节器,亮度
方法:计算电压(电压),计算亮度(电压),输出

9)日光灯(LightBulb)

日光灯类:(用于封装日光灯的信息)
属性:调节器,亮度
方法:计算电压(电压),计算亮度(电压),输出

10)电路方法(Load)

电路类:(用于封装电路的信息)
属性:电路编号,连接信息
方法:setter,getter

11)串联电路类(LoneLoad)

串联电路类:(用于封装串联电路的信息)
属性:电路编号,连接信息
方法:setter,getter

12)并联电路类(ConnetLoad)

并联电路类:(用于封装并联电路类)
属性:电路编号,串联电路信息
方法:

本次作业在上一次的作业上面迭代了线路中包含一个串联电路,以及多了一个落地扇和电阻的相关内容。

三.踩坑心得

1.因为没有先写输入输出,而是先写类,导致要写方法时要在类里面写输入输出

2.正则表达式没有正确使用,导致输入时有问题

3.输出时应该在类设计时添加方法,这样会简化且条理清晰

四.改进建议

1)要先做输入输出,然后再补全类
2)有些特定方法一定要用对,要不然会出很大的问题
3)代码类设计要合理,这样可以省去一些重复和不必要的步骤

五.总结

这三次的作业考察的内容和之前的内容差不多,最主要的还是类的设计,当类设计做好之后,后续会变得简单起来,只需要根据类来一步步补充就可以了。
这三次的作业完成度还是不高,害,感觉自己不是很适合学这个东西,对这个兴趣也不是很高,但是还是要先把最基础的掌握了,后面的在一步步来吧。

标签:题目,档位,调节器,信息,blog,OOP,电压,封装,第二次
From: https://www.cnblogs.com/BlogHhh/p/18240111

相关文章

  • 4~6总结blog
    第四次:一.介绍:相比于前三次,这一次也有一定的迭代,但是仍然有五个测试点未通过,接下来重点展示二.类图:三.耦合度:在这个耦合度方面,Answer类的OCavg:4.36,Main类的OCavg:40.00Answer类的WMC:48,Main类的WMC:40在软件工程中,OCavg和WMC是两个与代码复杂性相关的度量指标。OCavg表示每......
  • 第二次pta总结
    设计实现答题程序,模拟一个小型的测试,要求输入题目信息、试卷信息、答题信息、学生信息、删除题目信息,根据输入题目信息中的标准答案判断答题的结果。本题在答题判题程序-3基础上新增的内容统一附加在输出格式说明之后,用粗体标明。输入格式: 程序输入信息分五种,信息可能会打乱顺......
  • oop 4~6总结
    oop4~6总结前言知识点继承:第四次作业中新增的ChoiceQuestion和GapFillingQuestion继承Question类;第五次作业中Switch,SteppedSpeedController,ContinuousSpeedController,IncandescentLamp,FluorescentLamp,和CeilingFan都继承Device类,从而共享其属性和方法。集合......
  • 第二次Blog
    1.前言第四次作业是前三次大作业的迭代,添加了选择题,多选题,填空题。多选题,填空题可以有多个答案,并且可以对一半并得到分数。这对输入是个考验。同时对比较答案也是个难题。第五次作业是设计一个智能家居强电电路模拟系统,有受控设备和控制设备,不算太难。第六次作业是第五次作业迭代......
  • 第二次Blog
    题目集47-17-4答题判题程序-4分数87作者蔡轲单位南昌航空大学设计实现答题程序,模拟一个小型的测试,要求输入题目信息、试卷信息、答题信息、学生信息、删除题目信息,根据输入题目信息中的标准答案判断答题的结果。本题在答题判题程序-3基础上新增的内容统一附加在输出格式......
  • 题目集4-6的总结性blog
    前言:在这三周java的练习中,又运用了很多知识点,正则表达式,类与对象之间的关系,类与类之间的关系,继承,多态等等,巩固了上次学习的知识并掌握了新的技巧,这轮学习让我意识到,java题目需要先构思再实践,很多复杂的类之间联系,不构思好就去写代码,就会浪费很多时间。第四次大作业:这个题目是对......
  • OOP第二阶段题集总结
    一.前言知识点:考察继承和多态为多,其中还涉及迭代器的使用,在每个题集中都有一个综合性题目设计多方面知识点考试,有List类和HashMap的使用以及正则表达式的运用,并且注重考查设计,理解类与类之间的关系进行合理设计,其中也要遵循我们所学的单一职责,开闭原则,迪米特法则等。题量:第四次......
  • 第二次opp的总结和分析
    23201927-杨民星第二次blog1.前言:  继上次第一次blog之后,又开展了3次的Java的opp的训练集。在这三次的opp的题目中,第一次是对于之前三次题目的最后一次的迭代(上次3个题集的blog23201927-杨民星-第一次博客)这个题目也是答题系统的最后一个题目;而对于后面两个题目,就是基于电路......
  • 题目集4~6的总结性Blog
    第二次Blog是对第二类大作业的总结前言:前三次题目集的题量不会很大,提出的引脚我是第一次正式这种问题,有点陌生。难度偏小,虽然我没有拿满,老师还把后面的迭代方向告诉了我们,也更方便我们的设计,这一次对我来说应该是一次突破,因为我从未有一次如此清楚我代码的结构和问题,但我也有一......
  • 第二次Blog总结
    一、前言经过题目集4至题目集6的学习与实践,我深刻体会到了面向对象编程(OOP)的魅力与挑战。本次总结将重点围绕三次题目集中的7-1题目,从知识点、题量、难度等方面进行分析与总结。知识点题目集4至6中的7-1题目,无一不紧扣面向对象编程(OOP)的核心概念。这些题目不仅深入探索了类的继......