Secondo me hai messo due cicli for in piu' e fatto un po' di confusione con il riempimento della matrice.
Una volta calcolata la sottostringa, puoi direttamente inserirla nella matrice.
codice:
public class Matrice {
   public static int[][] mLunghezzaSottostringa(String[]job){
      int[][]matrice;
      int i,j;
      int sottostringa=0;

      matrice = new int [job.length][];
      for(i=0; i<matrice.length;i++) {
         matrice[i] =new int[i+1];
      }
		
      for(i=0;i<job.length;i++){
         for(j=0;j<job.length;j++){
             //Se i e uguale a j sono sulla diagonale
             if(i==j) {
                matrice[i][j]=-1;
             } else {
                sottostringa= Lcs.longestCommonSubstring(job[i], job[j]);
                matrice[i][j]=sottostringa;
             }
             System.out.print(matrice[i][j]+" ");//Stampa di controllo
         }
         System.out.println();//Stampa di controllo
      }
      
      return matrice;
   }
}