Innanzitutto, salve a tutti.
Mi chiamo Alessandro, e questo è il mio primo post sul forum. Ho iniziato a studiare programmazione da neanche 12 ore (di cui gran parte sono state di sonno, avendo iniziato ieri sera verso mezzanotte...) ed ho già molti problemi.
Sono chiaramente un tremendo pippone, e chiedo in anticipo perdono per questo! Premetto che mi sto esercitando poiché a breve inizierò una specialistica in campo informatico (Intelligent System) pur essendo laureato in psicologia cognitiva. Per cercare di non trovarmi eccessivamente indietro rispetto ai miei compagni di corso (quasi tutti laureati in Computer Science) ho deciso di iniziare a studiare un pochino per conto mio. Siccome il primo esame che dovrò fare è proprio su/con Java, mi sembrava doveroso iniziare a studiare proprio questo linguaggio. Ma bando alle ciance!
Allora, l'idea sarebbe quella di creare (e stampare) una matrice 9x9 formata da numeri casuali che però si dispongano secondo un preciso pattern:
codice:
8 7 6 5 4 5 6 7 8
7 6 5 4 3 4 5 6 7
6 5 4 3 2 3 4 5 6
5 4 3 2 1 2 3 4 5
4 3 2 1 0 1 2 3 4
5 4 3 2 1 2 3 4 5
6 5 4 3 2 3 4 5 6
7 6 5 4 3 4 5 6 7
8 7 6 5 4 5 6 7 8
Per generare numeri casuali interi da 0 a 9 ho utilizzato il comando (spero che "comando" sia la parola corretta...) (int)Math.random() * 10. Il codice per intero è questo qua:
codice:
public class matrix {
public static void main(String argv[]) {
//Definiamo matrix e random
int[][] matrix = new int[9][9];
int[] random = {(int)Math.random() * 10, (int)Math.random() * 10, (int)Math.random() * 10, (int)Math.random() * 10, (int)Math.random() * 10, (int)Math.random() * 10, (int)Math.random() * 10, (int)Math.random() * 10, (int)Math.random() * 10};
//Riempiamo la matrix
int r = 0;
int c = 0;
int x = 8;
int cont = 0;
while (c<9) {
while (r<9) {
matrix[r][c] = random[x];
r = r++;
cont = cont++;
if (cont<5) {
x = x--;
}
else {
x = x++;
}
}
c = c++;
r = 0;
}
//Stampiamo la matrix
r = 0;
c = 0;
while (c<9) {
while (r<9) {
System.out.print(matrix[r][c]);
System.out.print("\t");
r = r++;
}
c = c++;
r = 0;
System.out.println();
}
}
}
Il problema a questo punto è molto semplice: non succede niente.
Niente, nada, nisba. Normalmente per controllare di aver scritto tutto bene chiedo ad Eclipse di far girare il programma (senza utilizzare ogni volta il Prompt di comandi per compilare e far girare) e così ho fatto anche questa volta ma... Niente. Finestra bianca. Allora ho pensato che forse era il caso di provare con il metodo tradizionale. Ho fatto compilare il tutto con i comandi del Prompt (javac matrix.java) e poi ho fatto lanciare il programma (java matrix) ma anche questa volta... Niente. Niente scritte, niente errori... Semplicemente niente. Come è possibile? Cosa ho sbagliato?
Grazie a tutti in anticipo e scusate la mia ignoranza!
Con affetto,
Alessandro