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