Javaで行列の転置を実現する方法は何ですか?

行列を入れ替えるには、行列を表す二次元配列を使用し、適切な操作を行います。以下は、Javaのコード例です:

public class MatrixTranspose {
    public static void main(String[] args) {
        int[][] matrix = {
                {1, 2, 3},
                {4, 5, 6},
                {7, 8, 9}
        };

        int rows = matrix.length;
        int columns = matrix[0].length;

        int[][] transpose = new int[columns][rows];

        // 转置矩阵
        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < columns; j++) {
                transpose[j][i] = matrix[i][j];
            }
        }

        // 打印转置后的矩阵
        for (int i = 0; i < columns; i++) {
            for (int j = 0; j < rows; j++) {
                System.out.print(transpose[i][j] + " ");
            }
            System.out.println();
        }
    }
}

結果は出力されます:

1 4 7 
2 5 8 
3 6 9 

コード内では、最初に元の行列を示す2次元配列matrixが定義されます。次に、行数と列数をそれぞれ rows と columns で取得します。その後、転置された行列を格納する新しい2次元配列transposeが作成されます。

ネストされたforループを使用して、元の行列の各要素を反転行列の対応する位置に代入します。最後に、再度ネストされたforループを使用して、反転後の行列を出力します。

これにより、行列の転置が実現されました。

bannerAds