① findLast函数的错误是for()语句的i取值范围有误,i不应该为大于0,而是大于或等于0。该问题造成数组遍历时达不到第一个数的位置。
lastZero函数的错误是for()语句的循环方向有误,不应从前往后循环,而是应该从后往前循环。该问题造成函数不能找到数组中最后一个0,而是找到第一个0。
② 两者的Fault不满足可达性Reachability的条件都是 x==null (findLast函数的 y 任意取值)。因为此时程序并不运行之后的错误部分。
③ findLast函数Test Case: x = [1,2,2,3] , y = 2 Expect = 2。执行了Fault,但是结果也正确。
lastZero函数: x = [1,0,1] , Expect = 1。执行了Fault,但是结果也正确。
③ findLast函数Test Case: x = [7] , y = 9 Expect = -1。函数并不能执行找的功能,产生了Error,但是最终结果正确。
lastZero函数: x = [1] , Expect = -1。函数并不能执行找0的功能,产生了Error,但是最终结果正确。