Ciao a tutti, sto facendo un piccolo programma di gestione di cabine per un lido e sto avendo un problema molto strano con un array dinamico.
Vi spiego nei dettagli:
L'array dinamico si chiama mappaCabina ed è un attributo della classe Gui.
Ho un oggetto chiamato cabina che prevede, le coordinate XY della cabina, il numero e il settore.
Ho creato una funzione che automaticamente si va a prendere le coordinate delle cabine disegnate su di un immagine (coordinate che mi serviranno successivamente per un altro lavoro) .
Dentro questa funzione c'è un ciclo FOR che effettua questo lavoro.
E qui arriva l'errore.
Alla fine del ciclo l'ultimo oggetto che viene inserito viene sovrascritto su tutti quelli aggiungi precedentemente e non riesco a capire per quale motivo.
Se controllo i dati contenuti nell'array nel debug i dati fino all'ultimo inserimento sono tutti corretti e presenti, ma appena esco dal ciclo o dalla funzione vengono tutti sostituiti con l'ultimo inserito.
Vi posto il codice:
codice:
public void calcolaCoordinateFila(int x, int y, int nFila, String settore){
int w = 27;
int numero = 1;
Cabina c = new Cabina();
c.x = x;
c.y = y;
c.numero = 1 + nFila;
c.settore = settore;
mappaCabina.addElement(c);
for(int j = 0; j < 13; j++){
x = x - w;
numero = (numero+1) + nFila;
c.x = x;
c.y = y;
c.numero = numero;
c.settore = settore;
mappaCabina.addElement(c);
}
}
Su google non ho trovato niente e neanche nel forum, qualcuno mi può aiutare???