面向对象程序设计——(10-16周)学习总结
21201310-寇家瑞
1.前言:pta,实验的知识点、题量、难度等情况
1)临近期末,几次pta的作业难度在降低,在经历第二学习阶段的学习之后,我们对于java的理解有了更深的认识,因此在现在pta作业难度下降后,题目对于我们来说变得更加得心应手,很少再出现第二学习阶段无法动手的情况。不过,电信计费问题贯穿了三次pta的作业,每次都有难度或者内容的增加,一开始写着感觉挺困难的但是到了后面逐步得理解了整个题后,后面也写得更顺手一点。不过,每次有新的内容更新时,都会遇到不同的问题。
2)第四-1次实验是要求我们了解掌握Java中final关键字的含义及使用方法和抽象类的基本概念及使用方法,内容相较之前的实验较少,但抽象类的使用比较有难度。在四-2实验中,则是要求我们掌握接口的概念和使用方法、List相关类的使用方法和Java语言中Map相关类的使用方法。另外还包括理解程序设计中常用数据结构的用法。本次实验分为两部分;第一部分是基础的程序编写,第二部分则做出了进一步的改进。在实验4-1中,如果Boat类需要继承物品类,也就是说,Boat类即时交通工具,也是属于物品的一种,代码该做怎样的调整,要编写代码并画出修改后的类图。
3)第五实验考察的是Java实验的经典题目农夫过河,需要我们了解JavaFX的基本原理和基本组件,要求我们能够熟练应用JavaFX组件进行界面设计,另外,还包括掌握Java的事件驱动机制、lambda表达式,还有shape形状类的使用。这次实验承接实验四农夫过河游戏的代码,将用户界面改为图形界面界面效果自行设计。另外,还要画出修改后的类图、并说明在界面中使用了哪些技巧以达到更好的界面效果。
2.设计分析 采坑心得 改进建议:
1)pta平台作业——电信计费
设计与分析
最近几次作业难度并不大,在我们学到目前这个阶段时,题目的难度相较于第二阶段反而变得更简单,因此对于我们在拿分时就变得不在困难。但是电信计费才是这几次pta实验的重点,难度还是有的,但是随着对题目了解的逐渐深入,这个题也就没有之前想的那么困难了,越到后面,电信计费的得分率也在逐渐变高。而到了第三次电信计费时,也就是pta第八次作业,电信计费这道题最后
是拿到了满分
采坑心得
改进建议
因为这道题在考试时没有太多进行思考,在考完后进行进一步的思索后,发现这道题并没有需要改进的地方。反而我觉得这道题很好,几乎没有任何的漏洞,每个点都覆盖的很好,关键是很好的运用了自己所学的所有知识。
2)实验四Java程序控制结构
设计与分析
这是我们开始学习类的建立的第四次实验题。是农夫过河问题,这次的农夫过河代码已经升级过很多次了。该题是
采坑心得
确实没想到空格也要单独弄,第一遍敲完后才发现题目中还有这个要求,不过确实没什么难度,后面加上后也就解决了。倒是循环结构的用法,刚从网上看了些皮毛就开始动手,导致根本没有理解,返回的一直是自己所做的正误标记,一直报错;将二者在本题返回的题意正确与否弄反,一直过不了测试点,后发现后及时调整,完成了该题。
改进建议
通过SourceMonitor以及PowerDesigner软件测评结果可以发现,该题目测试点存在一点点问题:1.部分测试点设置的有点偏离,需要优化;2.题目简单,导致只有主类,看着也十分直白。这样可以大幅降低复杂度,代码运行的效率更高。若是想处理的更为体现类的形式,可以将数据计算处理在一个计算类中,判断条件写在判断类中,结果输出写在一个输出类中,这样可以将题目处理的更有可读性。题目要求求出农夫带一只羊,一条狼和一颗白菜过河的办法,所以依次成功返回运算结果后,需要继续运算,直至求出结果,即给出农夫的过河方案。
3)实验五 农夫过河JavaFX界面设计
设计与分析
本题的背景是著名的农夫过河问题,针对实现整个过程需要多步,不同步骤中各个事物所处位置不同的情况,可定义一个结构体来实现对四个对象狼、羊、白菜和农夫的表示。对于起始岸和目的岸,可以用0或者1来表示,以实现在程序设计中的简便性。题目要求给出四种事物的过河步骤,没有对先后顺序进行约束,这就需要给各个事物依次进行编号,然后依次试探,若试探成功,进行下一步试探。这就需要使用循环或者递归算法,避免随机盲目运算且保证每种情况均试探到。输出界面要求具有每一步中农夫所带对象及每步之后各岸的物体,需要定义不同的数组来分别存储上述内容,并使界面所示方案清晰简洁。然后这次实验是在实验四的基础上设计一个JavaFX界面,整体没有太大的难度,可以在网络上寻求的基础的代码模板,然后再与自己实验四代码进行对接。设计界面的模板并不是特别困难,但在对接的过程是比较复杂的,这与这学期开始前的课设类似。
1)临近期末,几次pta的作业难度在降低,在经历第二学习阶段的学习之后,我们对于java的理解有了更深的认识,因此在现在pta作业难度下降后,题目对于我们来说变得更加得心应手,很少再出现第二学习阶段无法动手的情况。不过,电信计费问题贯穿了三次pta的作业,每次都有难度或者内容的增加,一开始写着感觉挺困难的但是到了后面逐步得理解了整个题后,后面也写得更顺手一点。不过,每次有新的内容更新时,都会遇到不同的问题。
2)第四-1次实验是要求我们了解掌握Java中final关键字的含义及使用方法和抽象类的基本概念及使用方法,内容相较之前的实验较少,但抽象类的使用比较有难度。在四-2实验中,则是要求我们掌握接口的概念和使用方法、List相关类的使用方法和Java语言中Map相关类的使用方法。另外还包括理解程序设计中常用数据结构的用法。本次实验分为两部分;第一部分是基础的程序编写,第二部分则做出了进一步的改进。在实验4-1中,如果Boat类需要继承物品类,也就是说,Boat类即时交通工具,也是属于物品的一种,代码该做怎样的调整,要编写代码并画出修改后的类图。
3)第五实验考察的是Java实验的经典题目农夫过河,需要我们了解JavaFX的基本原理和基本组件,要求我们能够熟练应用JavaFX组件进行界面设计,另外,还包括掌握Java的事件驱动机制、lambda表达式,还有shape形状类的使用。这次实验承接实验四农夫过河游戏的代码,将用户界面改为图形界面界面效果自行设计。另外,还要画出修改后的类图、并说明在界面中使用了哪些技巧以达到更好的界面效果。
2.设计分析 采坑心得 改进建议:
1)pta平台作业——电信计费
设计与分析
最近几次作业难度并不大,在我们学到目前这个阶段时,题目的难度相较于第二阶段反而变得更简单,因此对于我们在拿分时就变得不在困难。但是电信计费才是这几次pta实验的重点,难度还是有的,但是随着对题目了解的逐渐深入,这个题也就没有之前想的那么困难了,越到后面,电信计费的得分率也在逐渐变高。而到了第三次电信计费时,也就是pta第八次作业,电信计费这道题最后
是拿到了满分
采坑心得
这是最后一次作业,在一开始因为不了解很多都没写,导致整个程序根本不知道怎么去运行,再寻求他人帮助后找到了门路,并在第三次作业得到了满分。
改进建议
因为这道题在考试时没有太多进行思考,在考完后进行进一步的思索后,发现这道题并没有需要改进的地方。反而我觉得这道题很好,几乎没有任何的漏洞,每个点都覆盖的很好,关键是很好的运用了自己所学的所有知识。
2)实验四Java程序控制结构
设计与分析
这是我们开始学习类的建立的第四次实验题。是农夫过河问题,这次的农夫过河代码已经升级过很多次了。该题是
采坑心得
确实没想到空格也要单独弄,第一遍敲完后才发现题目中还有这个要求,不过确实没什么难度,后面加上后也就解决了。倒是循环结构的用法,刚从网上看了些皮毛就开始动手,导致根本没有理解,返回的一直是自己所做的正误标记,一直报错;将二者在本题返回的题意正确与否弄反,一直过不了测试点,后发现后及时调整,完成了该题。
改进建议
通过SourceMonitor以及PowerDesigner软件测评结果可以发现,该题目测试点存在一点点问题:1.部分测试点设置的有点偏离,需要优化;2.题目简单,导致只有主类,看着也十分直白。这样可以大幅降低复杂度,代码运行的效率更高。若是想处理的更为体现类的形式,可以将数据计算处理在一个计算类中,判断条件写在判断类中,结果输出写在一个输出类中,这样可以将题目处理的更有可读性。题目要求求出农夫带一只羊,一条狼和一颗白菜过河的办法,所以依次成功返回运算结果后,需要继续运算,直至求出结果,即给出农夫的过河方案。
3)实验五 农夫过河JavaFX界面设计
设计与分析
本题的背景是著名的农夫过河问题,针对实现整个过程需要多步,不同步骤中各个事物所处位置不同的情况,可定义一个结构体来实现对四个对象狼、羊、白菜和农夫的表示。对于起始岸和目的岸,可以用0或者1来表示,以实现在程序设计中的简便性。题目要求给出四种事物的过河步骤,没有对先后顺序进行约束,这就需要给各个事物依次进行编号,然后依次试探,若试探成功,进行下一步试探。这就需要使用循环或者递归算法,避免随机盲目运算且保证每种情况均试探到。输出界面要求具有每一步中农夫所带对象及每步之后各岸的物体,需要定义不同的数组来分别存储上述内容,并使界面所示方案清晰简洁。然后这次实验是在实验四的基础上设计一个JavaFX界面,整体没有太大的难度,可以在网络上寻求的基础的代码模板,然后再与自己实验四代码进行对接。设计界面的模板并不是特别困难,但在对接的过程是比较复杂的,这与这学期开始前的课设类似。

采坑心得
对接的时候因为之前很少有接触,所以一开始对接的时候出现了不少问题。
改进建议
建议倒真没有,农夫过河是很经典的题。经历了一学期农夫过河的不断改进,最后的代码也逐渐完整。
3.总结
这是本学期Java第二阶段的学习,能看到自己获得了知识,但更多的是自己的不足,而且不足之处很明显。学习的东西虽然基础,但是掌握却需要大量联系。从最初适应Java语言变成灵活运用Java语言,再到后面运用多个类编写程序,还有很长的路需要自己去一步步践行。作为初学者,发现还有许多东西需要去掌握:
1.基础语法的巩固,在进行Java编程中,时常脱离不出C语言的习惯,导致出现语法错误,甚至不记得如何进行编写,这需要在练习中,不要只会对之前自己写的代码复制粘贴,还要留意写法。
2.多学习使用eclipse,这个编译软件很好用,功能很多,自动报错的功能对于代码的修改很有帮助,写pta不能只在那上面写代码,灵活运用eclipse对自己编写修改代码很有帮助。
3.不同类之间的关系,许多时候正是不知如何进行将类互相呼应,导致代码亢长,产生垃圾代码,这不利于学习;当能够了解,并运用类与类之间的关系,则能解决大多数问题。
向前看。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~