Escreva um programa que leia um número natural N inserido a partir do teclado. Em seguida, ele deve imprimir uma matriz quadrada N × N com padrão semelhante a esta:

Escreva um programa que leia um número natural N inserido a partir do teclado. Em seguida, ele deve imprimir uma matriz quadrada N × N com padrão semelhante a esta:

E o que você fez? Qual a dúvida?
import java.util.Scanner;
public class main{
public static void main(String[] args){
Scanner leia = new Scanner(<a href="http://System.in">System.in</a>);
int i, j, num;
int matriz[][] = new int[5][5];
for(i = 0; i < 4; i++){
for(j = 0; j < 4; j++){
num = leia.nextInt();
matriz[i][j] = num;
Por que a matriz está fixa? A ideia não é ler o número de posições da matriz a partir da inserção do teclado?
sim, eu fiz errado
Então, corrigindo a construção da matriz, você já resolve a questão.