首页 > 其他分享 >南昌空大学第一次PTA小结blog

南昌空大学第一次PTA小结blog

时间:2024-04-21 19:34:35浏览次数:20  
标签:题目 试卷 PTA blog num 信息 答案 小结 题号

不相同与上学期的C语言,java在面向对象与面向过程,安全性与垃圾回收,跨平台性,速度与效率,应用领域,语法特性等方面存在显著的差异,而且java也是我们软件工程以后所使用的基础,接下来我分享第一次作业的总结。
本次作业分为以下部分:
(1)总结三次题目集的知识点、题量、难度等情况。

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

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

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

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

1.三次作业的内容:
第一次作业的要求模拟场景:
1)单张试卷的信息处理
2)详细内容:输入试卷中试题的信息(编号、题目、标准答案)
输出试题每一题的答题信息以及最后每一题的判题结果。

第二次的作业要求模拟场景:
1)多张试卷、多张答卷的信息处理
2)详细内容:
输入试题的信息(编号、题目、标准答案)、试卷引用信息(试卷号、引用的题目
号-分值)、答卷信息(试卷号、答案)
输出试题每一题的答题、判题信息以及最后每一题的判分结果、总分

第三次的作业的要求模拟场景:
1)多张试卷、多张答卷的信息处理,
新增:学生信息、删除题目信息以及多种异常输入的监测,如答案为空字符、仅
有学生信息没有答案内容的空白卷、试卷引用、试题引用错误等。
2)详细内容:
输入试题的信息(编号、题目、标准答案)、试卷引用信息(试卷号、引用的题目
号-分值)、答卷信息(试卷号、答案)、学生信息(学号、姓名)、删除题目信息(题
号)
输出试题每一题的答题、判题信息以及最后每一题的判分结果、总分。输入中出现
各类错误时输出对应错误信息

2.三次作业的设计与分析:
第一次作业:
1)题目类(Question):用于保存一道题目的信息以及处理的方法。

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

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

试卷类(用于封装整套题目的信息)
属性:题目列表(题目类的对象集合)、题目数量
方法:判题方法(题号-num、答案-answer):判断答案-answer是否符合对应题号的题目标准答案-standardAnswer
保存题目(题号-num、题目-question):将题目保存到题目列表中,保存位置与num要能对应

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

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

第一次的思路比较简单,在类中加入了输入,输出以及存储和判断的方法,然后在主函数中是从键盘中获取题目信息,再保存相关信息,最后根据条件按不同方式输出结果就行了。

第二次作业:
1)题目类(Question):用于保存一道题目的信息以及处理的方法。

题目类(用于封装单个题目的信息):
属性:题目编号、题目内容、标准答案-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。

第二次作业在第一次的基础上之上新增了判断总分信息,判分结果,题目答案信息是否少于试卷标题数量,试卷号是否错误。并且我需要逐个逐个的分析输入信息,然后处理该字符串,并存储。然后再根据题目的判断要求来输出信息。输出较于第一次作业的话就是多了个总分判断。

第三次作业:
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):用于判断输入是否合法

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

第三次作业因为没有严格按照单一职责原则,只设置了题目类,试卷类,答案类,学生类,删除类,导致在主函数中的判断方法有很多,进行判断时还要重新一个个的去调用方法,导致一个判断里面有好多括号,很长,自己有时候也会看花眼,等下次作业重新设计,严格遵循单一职责原则。

3.踩坑心得:
1.在处理字符串时下标值没有处理好,导致运行时出现一开始没有仔细去解读题目信息,没有严格按照题目信息输出,导致一开始的结构设计出现了问题,然后后面写完之后又要重新回去修改,浪费了很多时间。

2.在处理字符串时下标值没有处理好,导致运行时出现索引越界                  

3.类设计要合理,这样可以避免代码的不断地复用。尽量实现一个类一个功能。

4.改进建议:
不能只设置简单的几个类,而是要根据题目信息按照单一职责原则来设计,不能在全部一股脑的放进主函数中,而是要在类设计中就有处理方法和判断方法。

5.总结:
从这三次作业中我学习到了类与类之间的关系,java里的单一职责原则,开闭原则,迪米特法则,也认识到了大学该如何去学,不能再和之前一样想要等老师慢慢领着走。
这三次的作业我完成的都不是很好,因为之前没有接触过这门语言,然后很多知识点都要自己通过网络去自主学习,但是之前的学习经历都是跟着老师按部就班地走,所有很多知识点学了之后不知道该如何运用到实践中去,自己也练习的不够,一看到作业就怕,就像老师上课讲的鸵鸟一样,去逃避,而不是去想办法去克服和解决。前面没有完成好,没学扎实,但是后面的题目又是在之前的基础上扩展,这就导致后面越学就越困难,这是个恶性循环啊,吐了。
作业模式和上课感觉都挺好的,老师讲的也还不错,不会像一些老师一样上课很枯燥,没学好的原因主要还是自己的问题,没有去踏实的解决问题。下次一定要把完成度提上来,做得更好。

标签:题目,试卷,PTA,blog,num,信息,答案,小结,题号
From: https://www.cnblogs.com/BlogHhh/p/18149374

相关文章

  • OOP第一次Blog
    本次Blog总结前三次作业的心得和体会**前言:前三次PTA作业整体难度不算很大,题量也一般,但是运用的知识点还是挺多挺杂的。第一次:没用到什么繁琐的知识点,初步见识到类之间的关联性和耦合性,难度不大,但是比较考验耐性。第二次:开始接触接口,用接口辅助排序,最后一道题在第一次的基础上......
  • blog1 1--3周PTA训练总结
    一.前言:在学习过C语言之后,面向对象的程序设计在本学期如期开启。该课程的编程语言是java,java与所学过的C语言有诸多相似之处,与C语言课程所不同的是,这门课程注重的是面向对象,如果说C语言是语法的学习,那么java就是其实战应用的学习,这门课的学习更让我深刻的感受到比写代码更重要的......
  • PTA前三次题目集总结
    以下内容是我对PTA三次习题作业最后一题的思路,源码以及总结学到的java知识大多都来自写题目集这些题目对我对java的认知与学习起到了不小的帮助答题判题程序-1题目内容设计实现答题程序,模拟一个小型的测试,要求输入题目信息和答题信息,根据输入题目信息中的标准答案判断答题的......
  • oop-PTA题目集1~3总结
    一、前言在学习了Java最基础的语法以及完成五次oop课前训练集之后,我们终于步入正轨,从符合人类思维的、流程化的,但存在可复用性差等缺点的面向过程的编程方式转入面向对象编程。谈到面向对象,就不得不谈及它的三大特点:封装、继承、多态。而这三次的题目尚未涉及继承和多态,主要是实......
  • 南昌航空大学软件学院23201823第一次blog
    一、前言:关于这三次的PTA大作业,我认为题目难度是超出了我的现象的,特别是每次的压轴迭代题,这压轴三道题全是迭代而来,息息相关,这也就意味着你如果第一次的设计没有做好,框架出现问题,后续改进的时候就只会越来越吃力甚至是需要把整个架构都推倒重来。最后一道题目的知识点包含也非常......
  • PTA前三次题目集总结
    PTA前三次题目集总结1.前言:2.设计与分析3.踩坑心得4.改进建议5.总结1.前言:  1.前三次题目集的重心从对类的使用和设计,类的关系,到类的封装。第一次题目集题目较多,主要是为了让作为初学者的我们能掌握Java的基本操作。第二次题目集题量适中,但增加了使用链表,自定义类要实现......
  • 第一次blog
    前言:本学期我开始了Java的学习之旅,从类的学习,输入与输出,到集合与哈希表。下面是一个从类的学习开始的Java学习总结:类与对象:类是Java中的基本构建模块,它定义了对象的属性和行为。对象是类的实例,具体化了类的属性和行为。类的结构:类由类名、属性(成员变量)和方法(成员函数)组成。......
  • 第一次Blog总结-前三次答题判定程序
    目录前言设计与分析采坑心得改进建议总结关于java&面向对象因为这学期刚开始学习java,因此对于java的某些知识点或技巧掌握地不是太熟练,但是经过长达三周的折磨下,总算对java有了初步的总体认知。前言知识点覆盖:数组灵活运用,List和Map接口灵活运用,各种类的设计已经......
  • JAVA学习第一次Blog
    前段时间老师在PTA上发布了三次大作业,这几次大作业的难度都比较高,对我来说除了前面的题目,最后的大分数压轴题我每次都做不出来。这与上个学期学的C语言作业难度简直不是一个等级的,不过JAVA老师也在上课期间一直强调,“我们JAVA课程一定要做出改变,不能说怕学生挂科就把难度设置的很......
  • 第一次blog总
    一、前言:第一次pta作业:1.知识点:简单的类的设计,类和对象的使用,类的数组类型的基本应用,类间的关联等基础的类间关系设计,实现对类的封装等操作。2.题量:4道简单题,1道迭代的难题。3.难度:前4道题比较简单;最后一道第一次写难度较大。第二次pta作业:1.知识点:考察类实现Comparable......