Erro ap exibir uma matriz transformada

Pessoal a questão pede para ler uma matriz 4 x 4 e trocar os elementos da 1ª linha pelos elementos da 4ª coluna e escrever,ao final, a matriz transformada.
Apesar de algumas tentativas , meu algoritmo não está exibindo a matriz transformada.
Segue o código…

package matrizes;

import java.util.Scanner;

/*
  Leia uma matriz 4 x 4 e troque os elementos da 1ª linha pelos elementos da 4ª coluna.
  Escrever,ao final, a matriz transformada
 
 */

public class Questao08 {

	public static void main(String[] args) {

		Scanner input = new Scanner(System.in);

		int[][] num = new int[3][3];
		int aux = 0;

		for (int i = 0; i < num.length; i++) {

			for (int j = 0; j < num[i].length; j++) {

				num[i][j] = input.nextInt();

			}

		}

		for (int i = 0; i < num.length; i++) {

			for (int j = 0; j < num[i].length; j++) {

				if (i == 0) {

					aux = num[0][j];
				}

				if (j == 3) {

					num[i + 0][j] = num[i][j + 2];
					num[i][j + 3] = aux;

				}
			}

		}

		for (int i = 0; i < num.length; i++) {

			for (int j = 0; j < num[i].length; j++) {

				System.out.print(num[i][j] + "  ");
				
				
			}
		}
	}

}

5
2
4
1
9
7
12
15
19
5  2  4  1  9  7  12  15  19

Alguem poderia me ajudar ?

Como já é determinado as linhas que devem ser trocadas, com 1 for vc já consegue fazer isso:

int[][] num = new int[][] {
	{ 1, 1, 1, 1 },
	{ 2, 2, 2, 2 },
	{ 3, 3, 3, 3 },
	{ 4, 4, 4, 4 }
};

for (int i = 0; i < 4; i++) {
	int aux = num[0][i];
	num[0][i] = num[3][i];
	num[3][i] = aux;
}

for (int i = 0; i < 4; i++) {
	for (int j = 0; j < 4; j++) {
		System.out.print(num[i][j] + ", ");
	}
	System.out.println();
}

Saída:

4, 4, 4, 4, 
2, 2, 2, 2, 
3, 3, 3, 3, 
1, 1, 1, 1, 
1 curtida

É para trocar uma linha com uma coluna…

for (int i = 0; i < 4; i++) {
    int aux = num[0][i];
    num[0][i] = num[i][3];
    num[i][3] = aux
}

Embora assim fique estranho o ultimo elemento da linha…
Talvez o pretendido seja com troca reversa?

 for (int i = 0; i < 4; i++) {
     int aux = num[0][i];
     num[0][i] = num[3-i][3];
     num[3-i][3] = aux;
 }
2 curtidas

Melhorei algumas coisas e ficou asim…

package matrizes;

import java.util.Scanner;

/*
  Leia uma matriz 4 x 4 e troque os elementos da 1ª linha pelos elementos da 4ª coluna.
  Escrever,ao final, a matriz transformada
 
 */                     

public class Questao08 {

	public static void main(String[] args) {

		Scanner input = new Scanner(System.in);

		int[][] num = new int[4][4];

		int aux = 0;

		for (int i = 0; i < num.length; i++) {

			System.out.println(i + " vetor ");

			for (int j = 0; j < num[i].length; j++) {

				num[i][j] = input.nextInt();

			}

			System.out.println(" ");
		}

		for (int i = 0; i < num.length; i++) {

			for (int j = 0; j < num[i].length; j++) {
				aux = num[0][j];

				num[0][j] = num[i][3];

				num[i][3] = aux;

			}

		}

		for (int i = 0; i < num.length; i++) {

			for (int j = 0; j < num[i].length; j++) {
				
				System.out.print(num[i][j] + "  ");

			}
		}         
		
	}
}
                                                              
/*
                                                           Ficou assim: 
                                                         
          2     3     4     5                              17    13    9    5                         
          6     7     8     9                              6     7     8    4                    
         10    11    12    13                             10    11    12    3                     
         14    15    16    17                             14    15    16    2

**/

0 vetor 
2
3
4
5
 
1 vetor 
6
7
8
9
 
2 vetor 
10
11
12
13
 
3 vetor 
14
15
16
17
 
17  13  9  5  6  7  8  4  10  11  12  3  14  15  16  2

Obrigado @Lucas_Camara e ao @pmlm por me orientarem nessa questão