guarda io quando sento parlare di array doppi (matrici e altro) mi scatta subito l'orticaria (è una reazione alquanto incontrollabile). come ti dicevo, matrici (in qualsiasi linguaggio) per me sono la soluzione del "non esiste altro modo per fare quello che devo fare".
Ma le consegne sono quelle, è un altro paio di maniche.
Detto questo, ci sono degli errorini (direi finezze che acquisisci con l'esperienza) in questo metodo. Non so quanto sai di string, ma se devi fare una roba del genere e devi farla spesso sappi che con il metodo seguente stai uccidendo la memoria!!!
Codice PHP:
public String toString(){
String s=new String();
for(int i=0;i<x.length;i++){
for(int j=0;j<x[0].length;j++){
s=s+" "+x[i][j].toString();
}
s=s+"\n";
}
return s;
}
in genere quando si prevede che ci sia un ciclo in cui fai tanti append di stringhe, utilizzi uno StringBuffer (o StringBuilder), guarda le API.
Codice PHP:
public String toString(){
StringBuilder build=new StringBuilder();
for(int i=0;i<x.length;i++){
for(int j=0;j<x[0].length;j++){
build.append(x[i][j].toString());
build.append(" ");
}
build.append("\n");
}
return build.toString();
}
ed è già una.
Poi x[i][j] che tipo è? cosa è? Dai nomi significativi a tutte le classi e a tutte le variabili.
Codice PHP:
x[0][1]=new String(contenitore[1].getName());
name è già una stringa, perché fai new String? In pratica con quell'operazione hai duplicato le stringhe in memoria.
Codice PHP:
int rand=(int)(Math.random()*(((b)contenitore[j]).getNumber())); /*stampo in modo casuale i colori e i frutti*/
sei sicuro che rand corrisponda ad un numero presente nel contenitore? in realtà potrei avere anche dei null qui, cosa che non controlli.
Ti consiglio di rivedere bene le stringhe e la gestione delle stesse