软件项目管理作业(二)

 

作业一

public int findLast (int[] x, int y) {
  // Effects: If x==null throw NullPointerException
  // else return the index of the last element
  // in x that equals y.
  // If no such element exists, return -1
  for (int i=x.length-1; i > 0; i--)
  {
    if (x[i] == y)
    {
      return i;
    }
  }
  return -1;
}
// test: x=[2, 3, 5]; y = 2
// Expected = 0

 

 

1)for循环应在i<=0处结束

2)x=[] 则指针为空,无法到达fault

3)x=[1,2,3],y=2 此时fault可到达,没有导致error状态

4)x=[3,4,5],y=2 导致error

 

 

作业二

public static int lastZero (int[] x) {

        //Effects: if x==null throw

        //           NullPointerException

        // else return the index of the LAST 0 in x.

        // Return -1 if 0 does not occur in x

        for (int i = 0; i < x.length; i++)

        {

                 if (x[i] == 0)

                {

                        return i;

                }

        }

        return -1;

}

// test: x=[0, 1, 0]

// Expected = 2

 

1)循环应该改为for(int i = x.length-1 ; i >= 0 ; i++)

2)指针异常,无论怎样都会进入循环,进入循环即进入fault

3)x=[0],此时程序到达fault语句,但是没有导致error状态

4)x=[0,1,2] 导致error

posted @ 2016-03-11 02:19  月染苏拉格  阅读(205)  评论(0编辑  收藏  举报