ho fatto quello che avete suggerito, grazie
altro problema, e qui mi sa che mi mancano le basi di Java
- classe device
- classe room, che all'interno, crea tante classi device, inizializzate a seconda del tipo di device, tante quanti i device nella stanza
- programma principale che deve accedere ai dati contenuti della classe device. come faccio?
spiegazione con codice:
classe device:
public class Device {
//TODO: variabili
String type;
public int power_in_use;
public int power_standby;
public int mean_active_hours;
public int main_user;
public int in_use;
Device(String type, int main_user){
if(type=="Tv"){
this.main_user=main_user; //se 0 dico che non c'è un main user (devo gestirlo nella parte del calcolo dei dispositivi on)
this.power_in_use=100;
this.power_standby=5;
} blablabla
classe room:
public class Room {
//dispositivi (giusto così o cambio?)
int tv;
int[] tv_main_user=new int[tv];
public Device[] Tv;
//TODO: costruttore
Room(int people_num, int type, int tv, int[] tv_main_user, int pc, int[] pc_main_user, int notebook, int[] notebook_main_user, int hifi, int[] hifi_main_user, int frigo, int[] frigo_main_user, int oven, int[] oven_main_user, int electric_stove, int[] electric_stove_main_user, int vacuum_cleaner, int[] vacuum_cleaner_main_user, int dishwasher, int[] dishwasher_main_user, int washing_machine, int[] washing_machine_main_user, int air_conditioner, int[] air_conditioner_main_user, int heating, int[] heating_main_user, int electric_boiler, int[] electric_boiler_main_user){
this.people_num=people_num;
//Person.p_b_kitchen=Person.p_b_kitchen*tv*0.5;
this.room_type=type;
this.tv=tv;
this.tv_main_user=tv_main_user;
Device[] Tv1=new Device[tv];
if(tv!=0){
for(int ii=0; ii<tv; ii++){
Tv1[ii]=new Device("Tv", this.tv_main_user[ii]);
}
}
this.Tv=Tv1;
Programma principale
blablabla
Room room=new Room(people_num, room_type, tv, tv_main_user, pc, pc_main_user, notebook, notebook_main_user, hifi, hifi_main_user, frigo, frigo_main_user, oven, oven_main_user, electric_stove, electric_stove_main_user, vacuum_cleaner, vacuum_cleaner_main_user, dishwasher, dishwasher_main_user, washing_machine, washing_machine_main_user, air_conditioner, air_conditioner_main_user, heating, heating_main_user, electric_boiler, electric_boiler_main_user);
rooms[ii]=room;
}
perchè non mi va facendo
int powerinuse=rooms[sta].Tv.power_in_use
?
cioè, fino a .Tv lo vede, ma non vede le int dentro. Why?