PDA

View Full Version : [JAVA] Come popolare un array di oggetti


darkmax
27-02-2009, 14:02
Salve a tutti.. io ho un array di oggetti di tipo Bicchieri.

Bicchieri [] calici = new Bicchieri[3]

for(int i=0;i<calici.length;i++)
..
Come faccio ad acquisire dei valori che io acquisisco? Cioè.. come popolo quell'array con tre bicchieri diversi chiamati calice_blu, calice_verde e calice_rosa? Ovviamente questi 3 elementi volevo inserirli da console e volevo utilizzare la classe Scanner. Come faccio?

wingman87
27-02-2009, 14:10
La classe Bicchieri come è definita?

agente mm8
27-02-2009, 14:31
Beh, se devi fare così, e considerato che sono solo tre elementi, ti direi di prendere gli input attraverso la classe Scanner, e poi fai una cosa tipo:
...
calici[1] = new Bicchiere(...);
calici[2] = new Bicchiere(...);
calici[3] = new Bicchiere(...);
...

un'altra soluzione è usare un ciclo for (dai un'occhiata a questo pseudocodice)
...
Bicchieri[] calici = new Bicchieri[3];
for(int i=0; i<calici.length; i++){
ricevo input;
uso l'input per creare calici[i];
}
...

darkmax
27-02-2009, 14:41
Beh, se devi fare così, e considerato che sono solo tre elementi, ti direi di prendere gli input attraverso la classe Scanner, e poi fai una cosa tipo:
...
calici[1] = new Bicchiere(...);
calici[2] = new Bicchiere(...);
calici[3] = new Bicchiere(...);
...

un'altra soluzione è usare un ciclo for (dai un'occhiata a questo pseudocodice)
...
Bicchieri[] calici = new Bicchieri[3];
for(int i=0; i<calici.length; i++){
ricevo input;
uso l'input per creare calici[i];
}
...

Ecco.. nel for a me manca proprio la parte ricevo l'input e uso l'input per creare calici[i]. Come faccio ad acquisirlo? io sapevo che c'era nextInt per gli interi, nextLine per le Stringhe..

darkmax
27-02-2009, 15:59
up

wingman87
27-02-2009, 16:05
Nella classe Bicchieri avrai definito un costruttore che prende certi parametri, supponiamo una stringa, allora farai
for(int i=0; i<calici.length; i++){
calici[i]=new Calici(input.next()); // o nextLine() a seconda delle esigenze
}

dove input può essere uno Scanner

darkmax
27-02-2009, 16:22
Nella classe Bicchieri avrai definito un costruttore che prende certi parametri, supponiamo una stringa, allora farai
for(int i=0; i<calici.length; i++){
calici[i]=new Calici(input.next()); // o nextLine() a seconda delle esigenze
}

dove input può essere uno Scanner

grazie mille.. Ho risolto!!