Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我将2D数组向左移动两次以上时,它将替换其中一个数字_Java_Arrays_2d_Shift - Fatal编程技术网

Java 当我将2D数组向左移动两次以上时,它将替换其中一个数字

Java 当我将2D数组向左移动两次以上时,它将替换其中一个数字,java,arrays,2d,shift,Java,Arrays,2d,Shift,请注意,第三行将1更改为2。您有两个问题 首先,这是: Enter number of rows: 4 Enter number of columns: 4 ArrayA 12 12 10 14 18 5 2 0 16 1 2 2 17 15 6 15 Which row [0..3] do you want to shift to the left? 2 How many times? 3 Final array: 12 12

请注意,第三行将1更改为2。您有两个问题

首先,这是:

Enter number of rows: 
4

Enter number of columns: 
4

ArrayA

12  12  10  14
18   5   2   0
16   1   2   2
17  15   6  15

Which row [0..3] do you want to shift to the left?

2

How many times?

3

Final array: 

12  12  10  14
18   5   2   0
2   16   2   2
17  15   6  15

for(int k=0;kTry调用shiftLeft(数组,1,rowSel)num次-有效吗?如果有效,那么您的逻辑在
num
>1处出现问题。它最终将其移动到正确的编辑:oops。我看错了。是的,当更改为1 savedRow应该表示什么时,它有效吗?我更新了答案以澄清;savedRow与原始的
int temp
,但暂时保持不变这是整行。如果我的答案有帮助,请务必对其进行投票,如果有帮助,请将其选为“最佳”!
Enter number of rows: 
4

Enter number of columns: 
4

ArrayA

12  12  10  14
18   5   2   0
16   1   2   2
17  15   6  15

Which row [0..3] do you want to shift to the left?

2

How many times?

3

Final array: 

12  12  10  14
18   5   2   0
2   16   2   2
17  15   6  15
for (int k=0; k<m-num; k++){
    array[rowSel][k] = array[rowSel][k+num];
}
int[] savedRow = new int[m];
for (int k=0; k<m; k++){
    savedRow[k] = array[rowSel][k];
}
for (int k=0; k<m; k++){
    array[rowSel][k] = savedRow[(k+num)%m];
}