1: In the first program, the fault is that it misses the first element of the array. Since when i equals to 0, the for loop stopped, but  the program should check out each of the element in the array.  If the first element equals to y, the answer should be 0 instead of -1. So the i>0 should change to i>=0

    In the second program, the fault is that it actually obtains the position of the first zero element. This is mainly because the index i starts from 0, instead of the length-1, and as it pluses one in each for loop, it would finally found the first zero in the array rather than the last one.

2: In first program, the test case is that x = null y could be a random number,which could throw the exception and do not execute the fault

  In the second program, the test case is that x = null, the reason is the same as the first statement.

3: In the first program, the test case is the array x = [2,4,5,6,5,3] y = 5, The answer is four which is correct.And the i don't need to be equal  to 0, that the error state is not showed.

    In the second program, the test case is the array x = [3,4,2,3,1,5,0] The answer is 6 which is correct. Since if the answer is the length-1 the answer must be right.

4: In the first program the test case is the array x = [3,2,4,5,2,3] y = 6. The answer is -1 since there is no 6 among the elements of the array, but the for loop actually does not reach every element since it miss the first element. However, it should not be regarded as a failure, as the final answer is right.

    In the second program, the test case is that the array x = [2,3,2,4,0,4,3]. The final answer is 4 which is right, but since the i does not start from the length of the array minus one, but from 0, there exists a risk that after the first 0, a few zeros may follow. Therefore, it can show the error of the program.

posted on 2016-03-06 20:25  pzyskytree  阅读(112)  评论(0编辑  收藏  举报