Forum Informatica Unict

LAUREA TRIENNALE (D.M. 270/04) => Programmazione 1, 9 CFU => Topic started by: Saro Newland on 23-01-2012, 16:31:37



Title: Aiutino nome oggetto
Post by: Saro Newland on 23-01-2012, 16:31:37
Colleghi mi serve un aiuto in java:

Ho dichiarato degli oggetti con nome r1h, r2h, r3h, ... fino a r40h.

Se adesso voglio associare lo stesso metodo metodo per tutti gli oggetti cosa devo scrivere nel ciclo per indicare di prendere gli oggetti rxh con x che va da 1 a 40?


Title: Re:Aiutino nome oggetto
Post by: ɹǝǝuıƃuǝsɹǝʌǝɹ on 23-01-2012, 16:40:44
Purtroppo, quello che vuoi fare tu non si può fare, non necessariamente, non direttamente, non con le nozioni da Programmazione 1.

La cosa migliore che tu possa fare con le conoscenze attuali è sostituire tute le istanze rxh con rh[x], ove rh sarebbe un array di oggetti dello stesso tipo di prima.


Title: Re:Aiutino nome oggetto
Post by: Saro Newland on 23-01-2012, 16:55:33
Purtroppo, quello che vuoi fare tu non si può fare, non necessariamente, non direttamente, non con le nozioni da Programmazione 1.

La cosa migliore che tu possa fare con le conoscenze attuali è sostituire tute le istanze rxh con rh[x], ove rh sarebbe un array di oggetti dello stesso tipo di prima.

non riesco neanche... posto quello che devo fare:

devo portare questo
Code:
        freccia1.setEnabled(true);
        freccia2.setEnabled(true);
        freccia3.setEnabled(true);
        freccia4.setEnabled(true);
        freccia5.setEnabled(true);
        freccia6.setEnabled(true);
        freccia7.setEnabled(true);

in un ciclo for, ma provando con
Code:
        int freccia[] = new int[6];
        for (int x=1;x<7;x++)
            freccia[x].setEnabled(true);

non va... dove sbaglio?


Title: Re:Aiutino nome oggetto
Post by: zElOtO on 23-01-2012, 17:26:39
Code:
int freccia[] = new int[6];
for (int x=1;x<7;x++)
freccia[x].setEnabled(true);

Gli indici di un array di n celle vanno da 0 a n-1, quindi il tuo ciclo for diventa:

Code:
for (int x = 0; x < freccia.length; x++)


Title: Re:Aiutino nome oggetto
Post by: Saro Newland on 23-01-2012, 17:44:37
mi da sempre l'errore: "it cannot be dereferenced"


Title: Re:Aiutino nome oggetto
Post by: ɹǝǝuıƃuǝsɹǝʌǝɹ on 23-01-2012, 19:30:03
Devo non essere stato capito .sisi, perciò evidenzierò un passaggio che deve esserti sfuggito nel mio messaggio di prima
La cosa migliore che tu possa fare con le conoscenze attuali è sostituire tute le istanze rxh con rh[x], ove rh sarebbe un array di oggetti dello stesso tipo di prima.
Cosa c'entra il tipo "int" (che tra l'altro non è nemmeno un tipo di oggetto)? .penso

Io intendevo dire che le tante variabili con nome simile devono essere sostituite (o i loro valori copiati) tutte con un'unico array in cui i riferimenti ai vari oggetti siano identici a quelli di prima.

Una degli obiettivi del corso di programmazione 1 è quello di insegnare ad evitare di creare "troppe" variabili, quando siano tutte di uno stesso tipo, cioè a usare gli array quando disponibile (e possibilmente utile, come è questo il caso).


Title: Re:Aiutino nome oggetto
Post by: Chuck_son on 24-01-2012, 10:54:58
si infatti devi fare un array di frecce