第一次做业:java
1.分析:正则表达式
第一次做业是简单的多项式相加,主要是想让咱们体会面向对象式编程,和严密的考虑各类输入状况。整个程序主要的难点就在于正则表达式,搞定了这个其它便迎刃而解了。然而做为第一次写java的小白,然而个人程序依旧没能摆脱面向过程式的思考方式,只写了一个类,而且虽然看了很长时间的指导书,但仍是没能考虑到全部状况。算法
2.自身Bug:编程
没有考虑到前加号的状况,正则表达式错误,另外正则表达式过长,致使边界正常输入crash。测试
3.分析别人bug策略:spa
第一次我便分到了一个全a的程序,首先将一些本身以为易错的数据测试,而后根据错误分支树依次编数据并测试。虽然最后也没找到错误,但这个过程仍是颇有意义的。调试
度量分析:对象
类图:blog
只有一个类,便不放了。bug
第二次做业:
1.分析:
第二次做业是傻瓜电梯调度,此次做业难点主要在于类的建立,搞清楚几个类的关系以及起做用就ok了。
2.自身bug:
虽然公测时没有bug,可是个人正则表达式时间只能匹配10位,这就致使时间为10位有效数时不能有前零。
3.分析别人bug策略:
此次我分到的程序公测错了至关多,经过分析我发现他没有考虑开关门时间,因而正常功能测试基本全挂,实在惋惜。
度量分析:
类图:
第三次做业:
1.分析:
第三次做业相比第二次做业在难度上跨越了一个等级,此次做业主要难点在于调度算法上,由于要考虑捎带,这就致使不能按顺序读入并执行指令,最开始我想先选得主指令,后判断其下有哪些指令能够被捎带,然而这种方法至关复杂,由于前面的指令会影响后面的指令是否能在捎带范围内,然后面的指令又有可能影响前面的指令。而后我就思考现实中的电梯,现实中的电梯是一层一层走的,因此可以动态接受命令,因而我就按照这个思路,也是先选取主指令,而后在去往目的地的途中一层一层上升,并考虑当前层的全部指令。这样算法便简单明白了许多。
2.自身bug:
此次我写完时,用了大量的数据来测本身的程序,因此最后没有发现bug
3.分析别人bug策略:
此次分到的程序也是公测没有所有经过,因而我首先分析他的错误缘由,而后测试与其相近的数据,最后按照错误分支树来进行数据测试,最后找到两个bug。
度量分析:
类图:
心得体会:
1.java的思考方式与c语言几乎彻底不一样了,c是面向过程,而java则是面向对象,通过这三次做业,我深深的体会到了它们的不一样。
2.java做业成功的治好了个人拖延症,第一次做业我是在ddl前1天才开始写,因此理所应当的就修仙了,第二次做业我学聪明了,ddl前2天开始写,而后发现时间仍是很紧张,而后这第三次做业我终于在周末就开始准备了,因此程序的调试就作的十分充足,这样就能尽可能的减小bug了。
3.之前写c时,输入格式通常都是固定好的,基本不会考虑无效输入,然而这几回做业在格式输入上下了很大功夫,我开始以为很繁琐,须要考虑不少种状况,然而如今我发现个人程序健壮性提升了许多,不会再动不动就报错或者直接crash掉,我想这在我未来的工做中也是颇有必要的吧。