Calculer la moyenne, le minimum et le maximum
Vous souhaitez analyser les données de vente de votre coffee shop. Les données contiennent la date de chaque transaction, le nom du café, le mode de paiement, la quantité vendue et le montant de la transaction, comme dans l’exemple ci-dessous. Calculez la moyenne, le minimum et le maximum des montants de transaction, formatés avec deux décimales.
| date | coffee_name | payment_method | quantity | amount |
|---|---|---|---|---|
| 3/1/24 | Latte | cash | 1 | $6.26 |
| 3/5/24 | Hot Chocolate | card | 3 | $32.51 |
| 3/6/24 | Americano | card | 2 | $18.70 |
Les packages nécessaires, tels que LocalDate, Arrays et List, ont été importés pour vous.
Cet exercice fait partie du cours
<cours>Nettoyer des données en Java</cours>Instructions de l’exercice
- Calculez le montant moyen des transactions à l’aide de
stats. - Calculez les montants minimum et maximum à l’aide de
stats.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics;
public class CoffeeSalesExample {
private record CoffeeSales(LocalDate date, String coffeeName,
String paymentMethod, int quantity, double amount) {
}
public static void main(String[] args) {
List sales = Arrays.asList(
new CoffeeSales(LocalDate.of(2024, 3, 1), "Latte", "cash", 1, 6.26),
new CoffeeSales(LocalDate.of(2024, 3, 5), "Hot Chocolate", "card", 3, 32.51),
new CoffeeSales(LocalDate.of(2024, 3, 6), "Americano", "card", 2, 18.70));
DescriptiveStatistics stats = new DescriptiveStatistics();
sales.forEach(sale -> stats.addValue(sale.amount()));
System.out.printf("\nSales analyzed: %d%n", sales.size());
// Compute the mean transaction amount
System.out.printf("Average amount: $%.2f%n", ____.____());
// Compute the min and max transaction amounts
System.out.printf("Amount range: $%.2f - $%.2f%n",
____.____(), ____.____());
}
}