我试图理解为什么下面的Java代码正常工作。我在缠绕头部时遇到的主要问题是将2d数组作为参数,因此在a[0][0]
处给出下面的测试示例时,int
存储的是什么?
我还有点困惑,为什么我不需要首先定义数组然后创建它,然后用参数填充它。
public class Test {
// returns the largest element in a
// e.g. max({{1, 3}, {7, -2, 0}, {4, 4}}) = 7
public static int max(int[][] a) {
int max = a[0][0];
for (int[] r : a)
for (int x : r)
max = Math.max(max, x);
return max;
}
}
答案 0 :(得分:0)
max
将等于1(第一个数组为{1,3}
,该数组中的第一项为1)。这样做的原因是您需要第一项进行比较,并且对最小值没有限制。
由于数组是作为函数中的参数给出的,因此调用该函数的代码将填充该数组。