KuroKami69 ha scritto:
Quindi ci sono diverse strade
Creare i cubi dentro a un ciclo for con la mappa, mi permette comunque di usarli all'esterno
In alternativa posso fare un array di oggetti e infilarci i miei cubi
Se invece li voglio usare all'interno del for o li passo a una variabile per poi richiamarne il metodo giusto?
Non sono sicuro di aver capito bene il tuo dubbio.
Ma la questione qui non è tanto di mappa, array, etc., la questione è solo relativa alla visibilità di una variabile.
Ciò che è dichiarato all'interno di un blocco di codice (che sia un ciclo o anche un metodo) non è visibile all'esterno, non puoi proprio accederci.
Quindi perché creare quella variabile Cubo locale al ciclo per fare la stampa del lato (o qualsiasi altra cosa) ?
E' una questione di comodità ed efficienza in questo caso, nulla ti vieta di aggiungere ad ogni iterazione del ciclo un nuovo cubo nella mappa e andarlo a prendere subito dopo con il get:
for (int i = 0;...... ) {
// ...
mappaCubi.put("c" + i, new Cubo( .... ));
System.out.println (mappaCubi.get ("c" + i).getLato ());
}
Questo funziona uguale, ma onestamente è piuttosto brutto da vedere, inefficiente e in alcuni casi porterà ad errori.
Da lì l'assegnazione ad una variabile locale all'interno del ciclo.