Exercício Matriz

Preciso da ajuda de vcs pra fazer um exercicio.

Atributos:

  1. matriz de tamanho n X n para armazenamento da coleção;
  2. matrizTransposta ? para armazenamento da matriz transposta;
  3. qtidade ? indica a quantidade de linhas e colunas da matriz que estão populadas.

Métodos:
1= construtor ? recebe como parâmetro um número inteiro que indica o tamanho da matriz. Aloca espaço para as matrizes.
2= carregar ? popula a coleção com números gerados randomicamente. A quantidade de linhas e colunas a serem populadas é passada ao método como parâmetro. Na sequência, este método chama o método para gerar a transposta. Retorna true se a operação foi normal.
3= carregarTransposta ? gera a matriz transposta. Este método é chamado pelo método carregar. Retorna false se a operação não for possível (quando a matriz original estiver vazia).

eu fiz até aqui

public class Matriz {

    public int elementos[][];
    public int transposta[][];
     private int qtidade;

     Matriz(int n){
         elementos = new int[n][n];
         transposta = new int[n][n];
     }
    public boolean carregar(int a,int b) {
        boolean x = true;
        int i,j;
        Random numRandomico = new Random();
        if(a<= elementos.length){
        if(b<=elementos.length){
              for (i = 0; i < a; i++) {
               for (j = 0; j < b; j++) {
               elementos[i][j] = numRandomico.nextInt(20);}}
                 

        }}
               else{x = false;
               }
        
              return x;
        }

até ai vai, so falta o metodo carregarTransposta.