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; } }

Rispondi quotando