数组的Java代码跟踪
我在学校的作业中遇到了问题,你必须使用跟踪表跟踪这个数组的代码,但是我一直在寻找答案 当我遍历代码时,我到达一行,其中数组的Java代码跟踪,java,arrays,trace,Java,Arrays,Trace,我在学校的作业中遇到了问题,你必须使用跟踪表跟踪这个数组的代码,但是我一直在寻找答案 当我遍历代码时,我到达一行,其中数据[I]的索引位置为0,即50。然后,我弄不清表是否在该行停止,因为它无法继续,因为数据[I]不小于数据。长度。那么它就到此为止了还是我错了 public static int ???(int[] data) { int result = 1000; for (int i = 0; i < data.length; i++) { if
数据[I]
的索引位置为0,即50
。然后,我弄不清表是否在该行停止,因为它无法继续,因为数据[I]
不小于数据。长度。那么它就到此为止了还是我错了
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;
}
公共静态int???(int[]数据){
int结果=1000;
对于(int i=0;i
数据是
{50,43,22,30}
for(int i=0;i
您将i
与data.length
进行比较,而不是将data[i]
与data.length
进行比较,这样您的循环将按预期运行(即不会在i=0处结束)在测试后,您认为代码行下面的代码是什么
结果=数据[i] 结果的最终值应返回22。这是因为循环从i<4
运行,这意味着它不包括循环中的4th
索引位置。最后一个循环结束于第三个
索引位置,因为数据[i]
不大于结果。3rd
索引为22,结果为1000,由于22不大于1000,程序返回22
啊,对了,您比较的是索引位置编号,而不是索引位置的实际编号。好的,干杯!然后,结果准确地成为数据I的值。它一直循环到最后。猜猜答案。将是i的最终结果,“result”的值为22