在2D数组中移动特定元素

时间:2016-05-01 16:09:39

标签: java arrays multidimensional-array

我试图在二维阵列中移动特定元素,即当一些元素移动时,其他元素保持在固定位置。例如:

char arr[][] = {{'.','.','.'},{'.','u','.'},{'x','.','.'}};

将转移到:

arr[][] = {{'.','u','.'},{'.','.','.'},{'x','.','.'}};

我有一个代码示例,用于将数组中的所有元素向上移动一定数量的位置,使其从底部包裹,但无法弄清楚如何将x保持在固定位置。我将所有元素读入一个新数组。

public static void moveUp(char arr[][], int pos){
     for(int r = 0; r < 6; r ++){
               for(int c = 0 ; c < 5; c++){
                   newArr[(r+(6-pos))%6][c] = arr[r][c];
               }
     }
}

这是在数组有6行5列的情况下进行的。

1 个答案:

答案 0 :(得分:0)

你应该做一个布尔值,如果你想让'u'上升并且x留在你评论的时候。例如,'u'的位置应该从char [i] [j]更改为char [i-1] [j]。