【发布时间】:2016-01-09 19:23:45
【问题描述】:
所以此时我不知道为什么我的for 循环不起作用。这可能只是一个小错误,但我找不到它,所以我很感激你的帮助。看起来是这样的:
int[] values = new int[array1.length];
for (int i = 0; i < array1.length; i++) {
for (int x = 0; x >= array1[i][0] && x <= array1[i][2]; x++) {
for (int y = 0; y >= array1[i][1] && y <= array1[i][3]; y++) {
values[i] += array2[x][y];
}
}
}
我用来测试它的数字和一些上下文:
两个数组都是二维的,
array1 看起来像这样:
(array1.length = 8) 和array2 像这样:
array1 在array2 中保存区域左上角和右下角的坐标,例如0 0 2 1 是array2[0][0] 和array2[2][1] 的坐标,我正在尝试获取我的@987654338 @循环添加该区域中的所有数字。所以对于这个例子,它将添加这四个数字:
我的输出是:3 0 0 0 0 0 0 0
【问题讨论】:
-
我不太明白……这 4 个带下划线的数字不应该是 0,0 到 1,1 之间的坐标(即 0 0 1 1)?
-
所以基本上它应该在坐标(在本例中为 (0,0) 和 (2,1))之间“创建”一个矩形,并在其中添加所有数字。
-
澄清一下,在这种情况下所需的输出是什么?
标签: java arrays for-loop logic