软件构造这门课是英文PPT,由于对专业词汇缺乏了解,阅读起来很是困难。没想到连实验的要求都是英文的,这让本来对JAVA语言就不熟悉的我稍微产生了一点抵触的心理。就比如P4的用户名要求那里就反复阅读还是没太读懂,找同学询问过后才明白。
- P1 Magic Squares
P1还算不难。其中涉及了读取文件,对特殊不符合规范的输入进行处理。通过搜索学习后掌握了JAVA读取文件的方法。 - P2 Turtle Graphics
P2是MIT的实验,起初读要求不是很理解P2总体要实现什么,只是阅读要完成的函数的要求完成单个函数的编写,完成几个函数后才明白P2是要完成画图功能。其中,凸包的地方比较困难,首先是不理解凸包的含义,并且搜索得到的算法还比较复杂,花费很长时间才得以理解。在这里初次解除Junit测试,Junit有助于发现代码的错误,也很有助于我dubug。 - P3 Social Network
P3是建立社交网络并且能搜索两个人之间的最短距离。由于图的每条边的加权为1,所以不用Dijkstra和Floyd算法,用广度优先搜索就能实现。在测试完P2对P3自己编写test很有帮助,通过在测试中举例,验证代码的完备。 - P4 Tweet Tweet
P4也是MIT的实验,要求又是一整篇的英文,和P2一样起初并不知道整体要干什么,也是一点点完善函数的过程中明白是要对tweet进行简单的分析。在这里接触到Instant类并简单地学习了正则表达式。