Fondamenti di Informatica 1
Corso di Laurea in Ingegneria Informatica e Ingegneria Automatica
Si vuole realizzare un programma per la raccolta di dati statistici sulla vendita di appartamenti. Per ciascun appartamento sono memorizzate le seguenti informazioni: indirizzo, piano, superficie, presenza del posto auto, status (libero o affittato), prezzo.
Parte 1.
Scrivere una classe Appartamento che implementi i seguenti
metodi:
Appartamento(String v, int p, int s, boolean a) : costruttore
che crea un oggetto rapresentante un appartamento dislocato all'indirizzo
v, piano p, con superficie s, e presenza
del posto auto indicato da a, l'appartamento sarà
inizialmente libero e il prezzo non noto (indicato dal valore 0);
String toString() : che restituisce una stringa con
tutte le informazioni dell'appartamento;
void affittato() : che modifica lo status dell'appartamento
in affittato;
void liberato() : che modifica lo status dell'appartamento
in libero;
boolean libero() : che verifica se l'appartamento è libero;
String getIndirizzo() : che restituisce l'indirizzo
dell'appartamento;
int getSuperficie() : che restituisce la superficie dell'appartamento;
double getPrezzo() : che restituisce il prezzo dell'appartamento;
void setPrezzo(double p) : che imposta il prezzo dell'appartamento;
Programma di esempio: ProvaAppartamento.java
Parte 2.
Scrivere una classe UsaAppartamento, cliente di
Appartamento, che contiene il seguente metodo statico pubblico:
static double mediaPrezziLiberiSuperficie(Appartamento[] v, int s) :
che, dati un archivio di appartamenti v,
rappresentato come un array di appartamenti, ed un numero intero
s rappresentante
una superficie, calcoli la media dei prezzi degli appartamenti liberi la cui superficie è maggiore o uguale a s, non considerando gli eventuali appartamenti il cui prezzo
è 0. Se non ci sono appartamenti che rispodono alle caratteristiche richieste
il metodo deve lanciare una eccezione.
Programma di esempio: ProvaUsaAppartamento.java