Fatorial em uma matriz


import javax.swing.*;

  public class Exer30 {

    public static int calculaFat (int n) {
    
    if ( n <=0 ){
    
      return 1 ;
    }
    
    int fat = 1 ;
    for ( int i = 1 ; i <= n ; i++ ) {
     fat = fat * i ;
    }
    
    
      return fat;
    }
    
     public static int [ ] [ ] matriz  (int [ ] [ ] m , int n   ){
    
      for ( int l = 0 ; l < m.length ; l++ ) {
        for ( int c = 0 ; c < m[0].length ; c++ ) {
         
              m[l][c] = calculaFat(n); 
          } 
                              
       } 
             return m  ;    
      
     }
     
     public static String imprimir ( int m [ ] [ ] ) {
          String saida = "";
      for ( int l = 0 ; l < m.length ; l++ ) {
        for ( int c = 0 ; c < m[0].length ; c++ ) {
          saida = saida + m[l][c] + " ";
          
        
        }
        saida = saida + "\n";
      }    
      return saida ;
     
     
     }
 
      public static void main ( String [ ] args ) {
      
      int m  [ ] [ ]= new int [2 ] [2]; 
      String aux = "";
        int n = 0;
      for ( int l = 0 ; l < m.length ; l++ ) {
       for ( int c = 0 ; c < m[0].length ; c++ ) {
        aux = JOptionPane.showInputDialog ( " insira o fatorial que deseja calcular ");
          n = Integer.parseInt(aux);
         m[l][c] = n;
        }
      }
      JOptionPane.showMessageDialog ( null, " matriz fatorial\n" + imprimir(matriz(m,n)   )   );
     
     
      }
      
    
    


}



Eae pessoas minha duvida é a seguinte como vou  calcular o fatorial de um numero inserido pelo usuario e coloca-lo em uma matriz .

exemplo 


    i   i   i 
  i 1  2  6
  i 1  24 120
  i 2  24 120 

import javax.swing.*;

public class Exer30 {

public static int calculaFat (int n) {

if ( n <=0 ){

  return 1 ;
}

int fat = 1 ;
for ( int i = 1 ; i <= n ; i++ ) {
 fat = fat * i ;
}


  return fat;
}


 
 public static String imprimir ( int m [ ] [ ] ) {
      String saida = "";
  for ( int l = 0 ; l < m.length ; l++ ) {
    for ( int c = 0 ; c < m[0].length ; c++ ) {
      saida = saida + m[l][c] + " ";
      
    
    }
    saida = saida + "\n";
  }    
  return saida ;
 
 
 }

  public static void main ( String [ ] args ) {
  
  int m  [ ] [ ]= new int [2 ] [2]; 
  String aux = "";
    int n = 0;
  for ( int l = 0 ; l < m.length ; l++ ) {
   for ( int c = 0 ; c < m[0].length ; c++ ) {
    aux = JOptionPane.showInputDialog ( " insira o fatorial que deseja calcular ");
      n = Integer.parseInt(aux);
     m[l][c] = calculaFat(n);
    }
  }
  JOptionPane.showMessageDialog ( null, " matriz fatorial\n" + imprimir(m)   );
 
 
  }

}