codice:
public void addDatoMeteorologico(DatoMeteorologico aDatoMeteorologico){
		while(contatore<=9){
			registroDatiMeteorologici[contatore]=aDatoMeteorologico;
			contatore++;
		}
	}
Non capisco perchč fai l'inserimento in questo modo....
O meglio, sicuramente vuoi inserire dati fin quando contatore č minore uguale a 9, ma non č questo il modo;
cosė il dato meteorologico lo inserisci per 9 volte nell'array, riempi l'array sempre con l'ultimo dato meteorologico che inserisci.

Cambialo un po' in:

codice:
public void addDatoMeteorologico(DatoMeteorologico aDatoMeteorologico){
	if (contatore <= 9){
		registroDatiMeteorologici[contatore]=aDatoMeteorologico;
		contatore++;
	}
}