所以我得到了这个5x5数组的2D数组,我必须减去或添加1到用户选择更改的行之一。当用户输入更改第一行时,一切都很好,但是如果行数较高,例如2,则会增加1以上。
数组值为
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
我用来添加1的方法如下
public static void plusRow (int i){
for(int row = 0; row < board.length; row++){
int[] rows = board[i];
for(int col = 0; col < board.length; col++){
rows[col] = rows[col] + 1;
System.out.print(board[row][col] + " ");
}
System.out.println("");
}
}
我的输出值,例如2,就像这样
1 -2 1 0 0
1 2 6 4 2
0 -4 1 -1 0
0 1 -1 -1 -2
0 -3 1 -1 0
什么时候应该
1 -2 1 0 0
0 1 5 3 1
0 -4 1 -1 0
0 1 -1 -1 -2
0 -3 1 -1 0
答案 0 :(得分:0)
问题是你的嵌套for循环运行的次数是函数输入int“i”
的次数答案 1 :(得分:0)
您的算法效率非常低 - 您不需要在此处执行嵌套循环。将您的输出和数学分解为两个不同的循环。
for(int j =0; j<boards[i].length; j++){
boards[i][j] += 1;
}
然后写一个双循环到输出板。实际上,这应该是一个单独的功能