# Java Program to Find Transpose of a Matrix

To understand this example, you should have the knowledge of the following Java programming topics:

Transpose of a matrix is the process of swapping the rows to columns. For `2x3` matrix,

```Matrix
a11    a12    a13
a21    a22    a23

Transposed Matrix
a11    a21
a12    a22
a13    a23```

## Example: Program to Find Transpose of a Matrix

``````public class Transpose {

public static void main(String[] args) {
int row = 2, column = 3;
int[][] matrix = { {2, 3, 4}, {5, 6, 4} };

// Display current matrix
display(matrix);

// Transpose the matrix
int[][] transpose = new int[column][row];
for(int i = 0; i < row; i++) {
for (int j = 0; j < column; j++) {
transpose[j][i] = matrix[i][j];
}
}

// Display transposed matrix
display(transpose);
}

public static void display(int[][] matrix) {
System.out.println("The matrix is: ");
for(int[] row : matrix) {
for (int column : row) {
System.out.print(column + "    ");
}
System.out.println();
}
}
}``````

Output

```The matrix is:
2    3    4
5    6    4
The matrix is:
2    5
3    6
4    4    ```

In the above program, `display()` function is only used to print the contents of a matrix to the screen.

Here, the given matrix is of form `2x3`, i.e. `row = 2` and `column = 3`.

For the transposed matrix, we change the order of transposed to `3x2`, i.e. `row = 3` and `column = 2`. So, we have `transpose = int[column][row]`

The transpose of the matrix is calculated by simply swapping columns to rows:

`transpose[j][i] = matrix[i][j];`