我希望完全交换两个数组的内容,而不是交换数组中的整数,而是跨越两个数组。我对于从哪里开始感到非常困惑。
...即
Matrix a = 1 2 3 Matrix b = 3 2 1
4 5 6 6 5 4
我希望它输出为
Matrix a = 3 2 1 Matrix b = 1 2 3
6 5 4 4 5 6
如果这是有道理的。抱歉!我的代码在下面是创建数组的开始部分并用Random填充它,我没有包含测试器,因为我只是输入用于计算的数组,而我还没准备好。< / p>
import java.util.Random;
public class Matrix {
private int[][] matrix;
private int rows;
//constructors
public Matrix() {
matrix = new int[3][3];
rows = 3;
}
public Matrix(int size) {
matrix = new int[size][size];
rows = size;
}
//Mutators
public void fill() {
Random r = new Random();
for (int i = 0; i < this.rows; i++) {
for (int j = 0; j < this.rows; j++) {
this.matrix[i][j] = r.nextInt();
}
}
}
public void clear() {
for (int i = 0; i < this.rows; i++) {
for (int j = 0; j < this.rows; j++) {
this.matrix[i][j] = 0;
}
}
}
public static void swap(Matrix a, Matrix B) {
}
}
答案 0 :(得分:0)
您只需交换matrix
字段:
public static void swap(Matrix a, Matrix b) {
int[][] tmp = a.matrix;
a.matrix = b.matrix;
b.matrix = tmp;
}
您应该首先检查矩阵是否具有相同的大小。或者,也可以在rows
和a
之间交换b
字段的值。