错误的数组值

时间:2012-04-07 19:34:48

标签: java android arrays

我有2D数组,但如果我改变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 = 1更改变量的i坐标,则输出仍为0,2,0,0,1 ...... 你知道哪里有问题吗? 感谢

2 个答案:

答案 0 :(得分:0)

你需要把j = 1而不是j = 0。

i变量迭代组成数组的向量,而j变量迭代其中一个向量的每个元素。您想跳过每个向量的第一个元素,因此您应该将j更改为从1开始而不是0。

在任何情况下,您都在重复循环内的归因,并且只保留分配给变量的最后一个值。因此,假设这是您正在使用的原始代码,您应该删除“for”循环并直接执行属性,假设您的arr数组不会更改。

答案 1 :(得分:0)

因为我对应于示例中的外部数组。您拥有的内容将打印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];
     }
}