GestioneImpresa.java
Created with JBuilder |
class GestioneImpresa {
// Attributi
private Squadra[] elencoSquadre;
private int numeroSquadre;
// Costruttore
public GestioneImpresa(int numeroMaxSquadre) {
elencoSquadre = new Squadra[numeroMaxSquadre];
numeroSquadre = 0;
}
// Metodi per l'aggiunta/rimozione di una squadra
public boolean aggiungi(Squadra s) {
if (numeroSquadre < elencoSquadre.length) {
elencoSquadre[numeroSquadre++] = s;
return true;
} else {
return false;
}
}
public boolean rimuovi(Squadra s) {
for (int i = 0; i < numeroSquadre; ++i) {
if (elencoSquadre[i].restituisciNumero() == s.restituisciNumero()) {
elencoSquadre[i] = elencoSquadre[numeroSquadre - 1];
elencoSquadre[numeroSquadre - 1] = null;
return true;
}
}
return false;
}
// Metodo per la verifica che un operaio non sia parte di pił di due squadre
public boolean verifica(Operaio o) {
int max = 2;
for (int i = 0; i < numeroSquadre; i++) {
if (elencoSquadre[i].appartiene(o)) {
--max;
}
}
if (max < 0) {
return false;
} else {
return true;
}
}
// Metodo per la verifica che un operaio non sia capo di pił di una squadra
public boolean verificaCapo(Operaio o) {
int max = 1;
for (int i = 0; i < numeroSquadre; i++) {
if (elencoSquadre[i].restituisciCapo().restituisciMatricola() ==
o.restituisciMatricola()) {
--max;
}
}
if (max < 0) {
return false;
} else {
return true;
}
}
// Metodi per il calcolo dei costi orari cumulativi
public double costoOrarioCumulativo() {
double somma = 0.0;
for (int i = 0; i < numeroSquadre; ++i) {
somma += elencoSquadre[i].calcolaCostoOrario();
}
return somma;
}
public double costoOrarioCumulativo(int qualifica) {
double somma = 0.0;
for (int i = 0; i < numeroSquadre; ++i) {
somma += elencoSquadre[i].calcolaCostoOrario(qualifica);
}
return somma;
}
}
GestioneImpresa.java
Created with JBuilder |