Java 交换两个二维整数数组

Java 交换两个二维整数数组,java,arrays,swap,Java,Arrays,Swap,我希望完全交换两个数组的内容,而不是交换数组中的整数,而是在两个数组之间交换。我只是不知道从哪里开始 即 我希望它输出为 Matrix a = 3 2 1 Matrix b = 1 2 3 6 5 4 4 5 6 如果这有道理的话。很抱歉下面是创建数组并用随机数填充的开始部分的代码,我没有包括测试人员,因为我只是输入用于计算的数组,我还没有准备好这样做 import java.util.Random; public class Matri

我希望完全交换两个数组的内容,而不是交换数组中的整数,而是在两个数组之间交换。我只是不知道从哪里开始

我希望它输出为

Matrix a = 3 2 1   Matrix b = 1 2 3
           6 5 4              4 5 6 
如果这有道理的话。很抱歉下面是创建数组并用随机数填充的开始部分的代码,我没有包括测试人员,因为我只是输入用于计算的数组,我还没有准备好这样做

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) {

}

}
import java.util.Random;
公共类矩阵{
私有int[][]矩阵;
私有int行;
//建设者
公共矩阵(){
矩阵=新整数[3][3];
行数=3;
}
公共矩阵(整数大小){
矩阵=新整数[大小][大小];
行=大小;
}
//突变子
填空{
随机r=新随机();
for(int i=0;i
您只需交换
矩阵
字段即可:

public static void swap(Matrix a, Matrix b) {
    int[][] tmp = a.matrix;
    a.matrix = b.matrix;
    b.matrix = tmp;
}

您可能应该首先检查矩阵是否具有相同的大小。或者,也可以在
a
b
之间交换
字段的值。第一个问题:当演示不是正方形时,代码使用正方形矩阵。解决这个问题。对于交换本身,使用一个临时数组,其大小等于您拥有的行数。然后你可以做:
temp=a;a=b;b=温度可以有临时变量吗?(这种情况下,除非这是一个(我觉得很愚蠢的)被禁止的练习)是的,临时变量很好,它实际上比我想象的要简单得多,我在一个疯狂的循环中一个接一个地交换元素。谢谢你的输入,我对伪代码看得太远了,认为我需要循环并更改每个元素。谢谢你。我只是使用了try/catch,如果它们不匹配,就会抛出一个错误。
public static void swap(Matrix a, Matrix b) {
    int[][] tmp = a.matrix;
    a.matrix = b.matrix;
    b.matrix = tmp;
}