matteo p.
19-01-2012, 21:13
Salve a tutti!
Ho un problema con un'array bidimensionale, dentro al quale vorrei sostituire/aggiungere due elementi.
L'array si chiama "data" ed è 10x10.
Ho provato ad operare così:
private void MuoviActionPerformed(java.awt.event.ActionEvent evt) {
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data.length; j++) {
if (data[i][j].equals("X")) {
data[i][j] = "";
data[i][j+1] = "X"; // sposto sopra
} else if (data[i][j].equals("O")) {
data[i][j] = "";
data[x][y] = "O"; // x e y sono numeri random da 1 a 10
}
}
}
}
}
E' collegata ad una jTable e dovrebbe aggiornarsi dopo la pressione di quel tasto; comunque, a parte questo, come potete vedere, metto i due cicli in modo da scansionare la matrice e che, quando arriva all'elemento "X" lo sposti di una casella sopra (e quindi l'ho tradotto con il "cancella dov'era e riscrivi la nuova posizione").
Mentre, se il ciclo trova "O" allora lo sposta in modo casuale.
Appena premo il bottone mi da questo errore:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 10
Dov'è che sbaglio? Avete idee migliori?
Ringrazio tutti anticipatamente.
Saluti. :)
Ho un problema con un'array bidimensionale, dentro al quale vorrei sostituire/aggiungere due elementi.
L'array si chiama "data" ed è 10x10.
Ho provato ad operare così:
private void MuoviActionPerformed(java.awt.event.ActionEvent evt) {
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data.length; j++) {
if (data[i][j].equals("X")) {
data[i][j] = "";
data[i][j+1] = "X"; // sposto sopra
} else if (data[i][j].equals("O")) {
data[i][j] = "";
data[x][y] = "O"; // x e y sono numeri random da 1 a 10
}
}
}
}
}
E' collegata ad una jTable e dovrebbe aggiornarsi dopo la pressione di quel tasto; comunque, a parte questo, come potete vedere, metto i due cicli in modo da scansionare la matrice e che, quando arriva all'elemento "X" lo sposti di una casella sopra (e quindi l'ho tradotto con il "cancella dov'era e riscrivi la nuova posizione").
Mentre, se il ciclo trova "O" allora lo sposta in modo casuale.
Appena premo il bottone mi da questo errore:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 10
Dov'è che sbaglio? Avete idee migliori?
Ringrazio tutti anticipatamente.
Saluti. :)