Perfetto, ho riscritto il codice ripartendo da zero.
Ho indubbiamente compiuto un nuovo passo verso la realizzazione del mio programma ma ho ancora qualche problema. Adesso riesco a stampare la matrice 9x9 e riusco a stampare correttamente tutta la prima colonna. Le altre colonne, invece, risultato tutte composte da 0. Probabilmente il programma non legge il mio comando "colonna++;" ma non riesco a capire il perché. Ho il timore di aver fatto qualche casino quando ho inserito due cicli while uno dentro l'altro (ma potrebbe anche essere qualche altra cosa).
Il codice, by the way, è il seguente:
codice:
public class matrix2 {
public static void main(String argv[]) {
//Definiamo matrice e numeri casuali
int[][] matrix = new int[9][9];
int[] random = {0,1,2,3,4,5,6,7,8};
//Riempiamo la matrice con i numeri casuali
int colonna = -1;
int riga = 0;
int x = 8;
int contatore = 0;
//Rimpiamo le prime cinque colonne
while (colonna<5) {
while (riga<9) {
matrix[colonna][riga] = random[x];
riga++;
contatore++;
if (contatore<5) {
x--;
}
else {
x++;
}
}
colonna++;
x--;
}
//Riempiamo le ultume quattro
while (colonna<5) {
while (riga<9) {
matrix[riga][colonna] = random[x];
riga++;
if (contatore<5) {
x--;
}
else {
x++;
}
}
colonna++;
x--;
}
//Stampiamo la matrix
colonna = 0;
riga = 0;
while (colonna<9) {
while (riga<9) {
System.out.print(matrix[riga][colonna]);
System.out.print(" ");
riga++;
}
colonna++;
riga = 0;
System.out.println();
}
}
}
E mi stampa la seguente matrice:
codice:
8 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0
Post Scriptum
Rispetto a prima ho eliminato per adesso la componente casuale che inserirò non appena riuscirò a stampare la matrice correttamente (dovrebbe bastare cambiare l'array definito random).
Grazie a tutti in anticipo.
Alessandro
8 0 0 0 0 0 0 0 0