我正在爲我的計算機科學實驗室製作一個名爲Numbrosia的遊戲。它必須是一個5x5板,但是當我嘗試將行內的值向右或向左移動時,我的一些列消失。在Java中移動一個二維數組中的行
數組的價值觀是
1 -2 1 0 0
-1 0 4 2 0
0 -4 1 -1 0
0 1 -1 -1 -2
0 -3 1 -1 0
但我正在逐漸
0 0 1 -2
0 2 4 0
0 -1 1 -4
0 -1 -1 1
0 -1 1 -3
我就把它移到右邊
public public static void RowRight(int i, int[][] array){
for(int row = 0; row < array.length; row++){
int temp = array[i][array.length-1];
for(int col = array.length-2; col > 0; col--){
array [row][col+1] = array[row][col];
System.out.print(array[row][col] + " ");
}
System.out.println("");
}
}
我的方法的代碼我的作品等待別人的回覆謝謝
---------- UPDATE -----------------------------
我已經管理打印5列,但出現了一個新問題。如果我將該行中的值向左或向右移動,則最後一個數字(當向左移動時是第一個數字)旁邊的位置或第一個數字(當右移是最後一個數字時)具有與第一個或最後一個相同的確切數字。 我會把輸出
再次數組的值是
1 -2 1 0 0
-1 0 4 2 0
0 -4 1 -1 0
0 1 -1 -1 -2
0 -3 1 -1 0
,我需要得到例如第一行向左移動,所以它應該打印
-2 1 0 0 1
-1 0 4 2 0
0 -4 1 -1 0
0 1 -1 -1 -2
0 -3 1 -1 0
但我越來越
-2 1 0 1 1
-1 0 4 2 0
0 -4 1 -1 0
0 1 -1 -1 -2
0 -3 1 -1 0
我該如何解決這個問題?
您通常會將行向右或向上移動,您是什麼意思將它們左右移動? –
@ peter.petrov - 我認爲這意味着將值左右移動一行。 –
如果您只想移動一行,則不需要兩個嵌套循環。看到我更新的答案。 –