Java代码跟踪数组

时间:2018-05-09 03:17:20

标签: java arrays tracing

我在这个学校工作中遇到麻烦,你必须使用跟踪表来跟踪这个数组的代码,但是我很难找到答案。

当我浏览代码时,我到达data[i]给定索引位置为0的行,即50。然后我感到困惑的是,由于data[i]不小于data.length而导致该表停止在该行上,因为它无法继续。那它结束了还是我错了?

public static int ???(int[] data) {

    int result = 1000;

    for (int i = 0; i < data.length; i++) {
        if (data[i] < result) {
            result = data[i];
        }
    }

    return result;
}

,数据是

  

{50,43,22,30}

3 个答案:

答案 0 :(得分:1)

测试结束后,您认为下面的代码行是做什么的?

result = data [i];

答案 1 :(得分:0)

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

您将idata.length进行比较,而不是将data[i]data.length进行比较,以便您的循环按预期运行(即不会在i = 0结束)

答案 2 :(得分:0)

result 的最终值应该是 return 22。这是因为循环从 i < 4 开始运行,这意味着它不包括循环中的 4th 索引位置。最后一个循环在 3rd 索引位置结束,因为 data[i] 不大于结果。 3rd 索引为 22,结果为 1000,由于 22 不大于 1000,因此程序返回 22