Originariamente inviato da MikGio90
codice:
	public static String stringaMatrice (int[][]a) {
		String str = ("{");
		for (int i=0; i < a.length; i++) 
			for (int j=0; j<a[0].length; j++)
				str = str + a[i ][j] + ", ";
		return str + ("}");
	}
....pensi vada bene o si può semplificare qualcosina?
Non proprio bene.

Innanzitutto tu restituisci una stringa in cui "sembra" un array lineare. Visto che è una matrice, dovresti evidenziare nella stringa le sottomatrici.
Nel ciclo interno usi come lunghezza sempre a[0].length, ovvero della prima riga.
In Java tecnicamente si possono fare gli array "jagged", dove in ogni riga c'è un numero diverso di colonne. Quindi tecnicamente sarebbe comunque meglio prendere la lunghezza di quella riga i-esima, non sempre della 0.

E come appunti: mettere le stringhe tra ( ) non serve e invece di fare la concatenazione delle stringhe si potrebbe usare un StringBuffer/StringBuilder, di cui alla fine restituisci il risultato del suo toString().