Gemiddelde, minimum en maximum berekenen
Je wilt verkoopgegevens van je koffiezaak analyseren. De data bevat de datum van elke transactie, koffienaam, betaalmethode, verkochte hoeveelheid en transactiebedrag, zoals in het voorbeeld hieronder. Bereken het gemiddelde, minimum en maximum van de transactiebedragen, geformatteerd met twee decimalen.
| 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 |
De benodigde packages zoals LocalDate, Arrays en List zijn al voor je geïmporteerd.
Deze oefening maakt deel uit van de cursus
Data opschonen in Java
Oefeninstructies
- Bereken het gemiddelde transactiebedrag met
stats. - Bereken het minimale en maximale transactiebedrag met
stats.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
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",
____.____(), ____.____());
}
}