ciao, mi dareste un aiutino a migliorare questo pezzo di codice?
codice:
	public boolean quadratoMagico(double[][] m){
		if(m.length != m[0].length) throw new RuntimeException("La matrice non è quadrata");
		int p=0; int c=0;
		for(int k=0; k<m.length; k++) p+=m[0][k];
		for(int i=1; i<m.length; i++){
			for(int j=0; j<m.length; j++)
				c+=m[i][j];
			if(c!=p) return false;
			c=0;
		}
		for(int i=0; i<m.length; i++)
			c+=m[i][i];
		if(c != p) return false;
		else c=0;
		for(int i=0; i<m.length; i++)
			c+=m[i][m.length];
		if(c != p) return false;
		return true;
	}
mi rendo conto già da solo che fa proprio schifo XD quindi per favore non fate commenti su come è scritto grazie
EDIT: per una più veloce comprensione questo è l'esercizio che dovevo fare:
boolean quadratoMagico( matrice m )
riceve una matrice quadrata m di interi e ritorna true se essa forma un quadrato magico, cioè la somma degli
elementi di una qualunque riga, di una qualunque colonna, della diagonale principale e della diagonale
secondaria è sempre uguale ad una stessa costante