1.作业过程总结
通过这一个学期的java课程和作业,我学到了许多,同时也认识到了自身的许多不足,首先说以下自己身上的不足,首先不是很主动去学习,但如果要写起来可以一直认真下去,特别是当花了很久的时间将大作业写出来时,心里还是很有成就感的,同时自身也对编程不太感兴趣,不愿意去主动和投入全身心精力去学习。再一个就是这个学期是在网上进行授课,导致我对课程学习的态度不是太用心,但我来到学校之后,就能很认真学习,认真对待,pta作业也能完成得很好,但在家里那个环境就无法用心学习,可能本身就比较懒吧,到了学校后,身边有对比,然后就会拼命去努力去和人家竞争,可能自身要有对比才能有动力吧。然后在说到学习方面首先在前面几次pta作业做的还都是偏面向过程的题目,没有什么需要new对象然后调用的地方,
比如这道pta作业设计的方法都是方法,而不是需要调用类然后调用类里的方法,c语言的解题方法类似,需要用多次if else,同时还需要多次嵌套if else。
这道题考到了关于类与类之间的调用,同时还考虑属性都是私有的要调用get和set方法来重置和获取私有属性。同时这里还通过数组的形式将一年里的每个月份天数表达出来,更加方便了计算。同时因为没有给DateUtil里的年月日的get方法,想要获取,只能通过date.getDay().getMonth().getYear().getValue()来获取到值。
这次作业主要考察的是继承和方法重写,首先同时还有super关键字的用法,首先创建一个父类Shape类,再创建其他图形子类,ectends继承,在各个子类中重写父类的求面积方法,同时还要将结果保留两位小数,用string.format实现,同时在box类的构造器中要是用super关键字来调用父类的radius属性,在box类中构造器用super调用父类的length,width。
这道题考察多态性和继承,还考察了类的数组和list数据结构和collection接口的比较方法。
首先需要创建父类数组然后new子类的形式完成子类的向上转型,这样可以统一数据,便于对后面的获取到的面积用定义的comparto接口用collection.sort进行面积排序然后再输出。
这道pta作业除了主要考察的java课程内的东西外还需要用到正则表达式,正则表达式还是比较难用的,要彻底吃透它需要很久很久的时间,所以需要自己花大量的课后时间去自学,要用正则表达式捕获组将式子一段一段有规律地分开,然后对其进行各种情况的分析,题目的难度还是很大的,必须要埋头苦干几天才能写出来。
这道题需要用到集合框架的list列表和collection接口的sort方法,还需要用到Shape类的向上转型和类数组应用,题目难度还是比较大,而且还需要注意各种格式输出,不然很容易导致答案错误,这题目也需要自己花大量时间钻研,并且要自己能想出将图形类存储,然后分别按顺序输出的方法,如果想不到的话就可以去请教请教同学,可以适当地让同学给你说说思路,或者让同学给你发部分源代码看一看怎么排版解题和思路。
这道题目比较简单,只需要按照类图将其全部打出就行,但还是有许多需要注意的地方,比如要注意其输出的上限和下限,比如档位上限到某一位置就会停止,和自动秆的位置下限也会发生改变。要注意控制其输出的变化。
首先需要创建一个数组,将所有的关键词全部存进去,然后在将输入的句子分开捕获然后进行对比,用迭代器一次次遍历,然后再进行判断,如果符合然后就输出。题目难度较大,需要用到的知识点较多,需要自学很多东西,还需要练习很多遍相关内容才能将各种用法的代码将其打出来,总之需要花大量的时间,如果只剩最后一两天,很难将其完整地打出来。
通过这道题目,我学习到了栈的使用,并且也知道了可以用switch语句来更加简单直接地解决这些问题,有的时候不一定需要用到正则表达式,可以用更简单的方法来解决,还有就是只要肯花时间,就能写出来一个大概。
2.OO设计心得
要充分利用类与类之间的关系及参数引入传递和调用,还有在做大作业时不能盲目编程,要在做提前先构思好框架和思路,比如先构思好要new的类里面的结构和方法,需要用到那些计算的类,要调用类里的哪些方法,同时如果要用到类的数组存储和输出的话可以用列表来存储和输出,首先还必须要学好正则,正则的各种应用和各种表达式的对应匹配式,正则如果会用,那你解题成功的概率会大很多,再一个是了解类的多态性,就是子类的向上转型,可以统一数据,便于调用获取运算。还有就是集合框架list列表和collection接口的sort排序方法。
②面向对象设计的基本原则理解
首先构思主函数的方法步骤,然后再进行类的命名和设计,然后再根据类里的方法进行设计编程。
③OO编程思维的理解
④类设计心得
3.测试的理解与实践
①测试对于编码质量的重要性
②查阅资料,假设使用Junit进行程序的测试是否可行
4.课程收获
通过这一个学期的java课程,我知道了类的继承,和封装,还有类的多态性(子类的向上转型),还有通过list列表将各个类的数据存入,了解正则表达式的运用,记住匹配对应的用法,会使用括号分开捕获组,输入的式子一步步分开,
然后分别进行格式是否正确的分析,这样能比较准确,不容易出错。
5.对课程的建议
我觉的java课老师讲的很详细,比较负责,很关注我们的学习进度,真正地关心我们有没有学到东西,如果有难点会尽力地帮我们讲出来,老师是比较好的。课程的话java大作业难度还是有的,需要自己话很多时间来自学和解决,如果在编程方面没有天赋的话确实会比较吃力,所以要花很多的时间去钻研,去努力学习才能学好。