|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2007
Città: Somewhere
Messaggi: 389
|
[JAVA] Problema array e spostamento elementi
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ì: Codice:
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
}
}
}
}
}
Mentre, se il ciclo trova "O" allora lo sposta in modo casuale. Appena premo il bottone mi da questo errore: Codice:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 10 Ringrazio tutti anticipatamente. Saluti. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2007
Città: Milano Beach
Messaggi: 1696
|
due problemi:
- la riga [i]data[j+1] = "X"; nell'ultima ripetizione del ciclo, j vale 9 e tu cerchi di accedere a data[i][10]; - x e y non possono valere 10, ma devono essere compresi tra 0 e 9.
__________________
~ Cthulhu: MacBookPro 13.3" ~ Azathoth: D510MO Ultima modifica di GByTe87 : 19-01-2012 alle 21:12. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2007
Città: Somewhere
Messaggi: 389
|
Risolto, grazie mille
Ultima modifica di matteo p. : 20-01-2012 alle 10:36. |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Mar 2007
Città: Milano Beach
Messaggi: 1696
|
Quote:
Solo una cosa: generalmente si evita di usare le eccezioni per gestire il flusso di esecuzione; le eccezioni andrebbero usate per gestire situazioni non comuni, del tipo "La connessione verso il DB è crollata", non per situazioni comuni del tipo "L'utente ha inserito un valore non corretto". Questo perchè la gestione delle eccezioni ha un peso abbastanza elevato, in termini di performance. Dai un occhio qua: http://stackoverflow.com/questions/2...ava-exceptions Quindi, la morale del pippone è: usa metodi alternativi (banalmente, degli if) per controllare la correttezza dei parametri.
__________________
~ Cthulhu: MacBookPro 13.3" ~ Azathoth: D510MO |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:00.




















