Prova al calcolatore 11/4/2002

Si vuole realizzare la gestione di un mobilificio. Per ogni mobile, viene memorizzato un numero identificativo univoco (un intero), il tipo di mobile (poltrona, divano, ecc) come stringa, il nome della persona che lo ha comprato, e la data di consegna. Questi ultimo due dati sono stringhe, e possono valere "n/a", se il mobile non è stato ancora comprato oppure non è stato ancora consegnato.

Parte I

Realizzare la classe Mobile, con i seguenti metodi:

costruttore
ha come argomenti un intero e tre stringhe
getNumero
restituisce il numero del mobile
getTipo
restituisce il tipo del mobile
getCompratore
restituisce il tipo del compratore, oppure la stringa "n/a"
getData
restituisce la data di consegna oppure la stringa "n/a"
consegnato
restituisce true se il mobile è stato comprato ma non ancora consegnato
stampa
stampa i dati di un mobile
read
unico metodo statico: restituisce un mobile i cui dati vengono letti da un BufferedReader; restituisce null se il primo tentativo di lettura da file fallisce.

I dati sono memorizzati su file in modo sequenziale: prima il numero, poi il tipo, poi il nome del compratore oppure n/a, poi la data di consegna oppure n/a

Parte II

Relizzare la classe Mobilificio le cui istanze modellano interi mobilifici. Ogni istanza è associata a un file che contiene i dati di tutti i mobili associati.

La classe deve contenere i seguenti metodi:

costruttore
prende come parametro una stringa, e crea l'oggetto che rappresenta il mobilificio associato
quantiVenduti
calcola il numero di mobili che non sono ancora stati venduti (il compratore è "n/a")
stampaComprati
prende come parametro il nome di una persona, e stampa tutti i mobili che ha comprato: prima tutti quelli già consegnati, e poi gli altri