1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
public Map<YearMonth, Float> genererMoyenneTemperaturesMois(Map<LocalDate, Float> map) {
LocalDate firstDayOfNextMonth = new LocalDate(YEAR, 2, 2, chrono);
YearMonth firstMonth = new YearMonth(YEAR, 1, chrono);
Map<YearMonth, Float> hMapMoyTemperatures = new HashMap<>(12);
Map<LocalDate, Float> mapTemperatures = new HashMap<>(31);
// 1. Parcours sur les mois tant qu'on est sur la même année pour récupérer tous les mois
for (YearMonth mois = firstMonth; mois.getYear() == YEAR; mois = mois.plusMonths(1)) {
//1a. Parcours sur les jours tant que l'on est sur le même mois
for (LocalDate jour = firstDay; jour.isBefore(firstDayOfNextMonth); jour = jour.plusDays(1)) {
Float temperatures = (rand.nextInt(2 * (MAX - MIN)) + 1 + 2 * MIN) / 2f;
mapTemperatures.put(jour, temperatures);
}
// 2. Alimenter la Map avec le mois comme cle et sa moyenne comme valeur
hMapMoyTemperatures.put(mois, moyenne(mois, mapTemperatures));
}
return hMapMoyTemperatures;
} |