• TJUSCSST第二次作业


    作业题目

    Below are four faulty programs. Each includes a test case that results in failure.

    Answer the following questions (in the next slide) about each program.

    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

    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

    问题

    Identify the fault.

    If possible, identify a test case that does not execute the
    fault. (Reachability)
    If possible, identify a test case that executes the fault, but
    does not result in an error state.
    If possible identify a test case that results in an error, but
    not a failure.

    作业解答:

    1.第一个程序的For循环应该i大于等于0,

    第二个程序应改为for (int i=x.length-1; i >= 0; i--) ;

    2.第一个程序 x = [],  y = 2,

    第二个程序 无论怎么输入 都会execute the fault;

    3.第一个程序  x = [2,3,4],y = 4,

    第二个程序 test: x = [3];

    4 第一个程序 test: x = [2],

    第二个程序 test: x = [1,0,3]。

  • 相关阅读:
    access生成sql脚本,通过VBA调用ADOX
    virtualbox 使用USB引导启动安装系统
    atom 调用g++编译cpp文件
    VPython 三维显示 —— hello word
    sql高级篇(一)
    sql基础篇
    struts2中的<s:select>默认选项
    关于SVN更新注意
    mysql中的substr()函数
    mysql中exists的用法介绍
  • 原文地址:https://www.cnblogs.com/moody/p/5257930.html
Copyright © 2020-2023  润新知