Prova al calcolatore 18/9/2002

Si vuole realizzare un sistema di memorizzatione dei dati metereologici. In particolare, per ogni giorno dell'anno vanno memorizzati i dati relativi, ossia: la temperatura massima e minima del giorno, il numero di millimetri di pioggia del giorno (se non è piovuto questo numero sarà evidentemente zero) e un campo di tipo stringa in cui i metereologi possono memorizzare note particolari su quel giorno.

Parte I

Realizzare la classe Giorno, con i seguenti metodi:

costruttore
ha come argomenti tre reali e una stringa
getMassima
restituisce la temperatura massima del giorno
getMinima
restituisce la temperatura minima del giorno
getPioggia
restituisce il numero di millimetri di pioggia della giornata
getNote
restituisce le note relative al giorno
stampa
stampa tutti dati relativi al giorno (incluse le note)
read
unico metodo statico: restituisce un oggetto di tipo giorno, 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 la temperatura massima, poi la minima, ecc.

Parte II

Realizzare la classe Anno le cui istanze modellano interi anni. Ogni istanza rappresenta i dati meteo dell'anno, ed è associata a un file che contiene i dati di tutti i giorni dell'anno.

La classe deve contenere i seguenti metodi:

costruttore
prende come parametro una stringa, e crea l'oggetto che rappresenta l'anno associato;
giorniPioggia
determina il numero di giorni di pioggia dell'anno;
noteDifferenza
dato un numero x, stampa le note relative a tutti i giorni dell'anno in cui la differenza di temperatura fra la minima e la massima è superiore a x