mmm evidentemente c'è qualche problema più profondo. Comunque, prendendo una delle matrici che hai postato:
Ho commentato il metodo che forse più ti interessa.codice:public class Esercizio { int[][] matrice; int[][] consomma; // metodo accessorio per stampare una matrice private String stampaMatrice(int[][] a) { String ret = ""; for (int i = 0; i < a.length; i++) { ret += "[ "; for (int j = 0; j < a[i].length; j++) { ret += a[i][j]+" "; } ret += "]\n"; } return ret; } public String toString() { String ret = ""; ret += "Matrice Originale\n"; ret += stampaMatrice(matrice); ret += "\n\n**********************\n\nMatrice Taroccata\n"; ret += stampaMatrice(consomma); return ret; } public void sommaRighe() { int sommaParziale; for (int i = 0; i < matrice.length;i++) { //cursore righe - scorro tutte le righe // resetto la somma parziale ad ogni nuova riga scandita. sommaParziale = 0; for (int j = 0; j < matrice[i].length-1; j++) { //cursore colonne // - mi fermo al penultimo elemento // nella nuova matrice gli elementi sono uguali agli elementi della // matrice originale, tranne per quelli che occupano l'ultima colonna consomma[i][j] = matrice[i][j]; // sommo gli elementi della riga per calcolare il nuovo valore // dell'elemento all'ultima colonna sommaParziale += matrice[i][j]; } // setto l'elemento dell'ultima colonna consomma[i][matrice[i].length-1] = sommaParziale; } } public Esercizio() { matrice = new int[][] { {1, 9, 9, 6, 0}, {5, 2, 9, 5, 0}, {3, 2, 6, 9, 0}, {7, 3, 4, 9, 0}, {0, 6, 2, 1, 0} }; consomma = new int[matrice.length][matrice[0].length]; } public static void main (String[] args) { Esercizio es = new Esercizio(); es.sommaRighe(); System.out.println(es); } }

Rispondi quotando