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 getPiano()
: che restituisce il piano 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 mediaPrezziLiberiPiano(Appartamento[] v, int p)
:
che, dati un archivio di appartamenti v
,
rappresentato come un array di appartamenti, ed un numero intero rappresentante
un piano, calcoli la media dei prezzi degli appartamenti liberi che si trovano
sul piano dato, 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