invece di fare UP con una NullPointerException (che significa debuggate voi per capire dove è l'errore), inizia a vedere dove si presenta e ricostruisci il ciclo di esecuzione, dall'avvio del programma a dove si presenta. NPE significa che non hai istanziato qualcosa, ergo controlla che tutto sia valorizzato (e i punti in cui lo fai) quando arrivi al toString()
Mi parli del metodo toString() che è questo
e non dici il punto in cui si trova l'eccezione.Codice PHP:
public static String toString(Cella[][] m){
StringBuilder sb = new StringBuilder(500);
for(int i = 0; i < 9; i++){
sb.append("| ");
for(int j = 0; j < 9; j++){
if(j == m[0].length - 1){
sb.append(m[i][j].toString());
sb.append(" |");
if(i == 2 || i == 5)
sb.append("\n------------------+-----------------+------------------\n");
else if(i != 8)
sb.append("\n| | | |\n");
}else{
sb.append(m[i][j].toString());
sb.append(" | ");
}
}
}
return sb.toString();
}
Ho la vaga impressione (non ho letto il tuo codice, per capire cosa succede dovrei debuggarlo) che quando hai delle caselle, dimentichi di assegnare il valore a queste.
Controlla questo.