[英]wrong array values
我有二维数组,但如果我改变 x 坐标,每次我都会得到错误的结果。
int[][] arr = {{0, 2, 0, 0, 1},{0, 2, 0, 0, 1},{0, 2, 0, 0, 1},{0, 2, 0, 0, 1},{0, 2, 0, 0, 1}};
int now, previous;
for (int i = 1; i < 5; i++) {
for (int j = 0; j < 5; j++) {
now = arr[i][j];
previous = arr[i-1][j];
}
}
变量的结果现在是 0, 2, 0, 0, 1... 为什么我只想有 2, 0, 0, 1 如果我更改变量的 i 坐标,例如 i = 1 output 仍然是 0, 2 , 0, 0, 1 ... 你知道问题在哪里吗? 谢谢
您需要将 j = 1 而不是 j = 0。
i 变量遍历构成数组的向量,而 j 变量遍历其中一个向量的每个元素。 您想要跳过每个向量的第一个元素,因此您应该将 j 更改为从 1 而不是 0 开始。
在任何情况下,您都在循环内重复属性,并且只会保留分配给变量的最后一个值。 因此,假设这是您正在使用的原始代码,您应该删除“for”循环并直接进行归因,假设您的 arr 数组不会改变。
因为 i 对应于您示例中的外部数组。 你所拥有的将打印0, 2, 0, 0, 1
四次。 我知道你想要的是显示2, 0, 0, 1
五次......你应该这样做
for (int i = 0; i < 5; i++) {
for (int j = 1; j < 5; j++) {
now = arr[i][j];
previous = arr[i-1][j];
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.