Aan de slagBegin gratis

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

Bekijk cursus

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",
                ____.____(), ____.____());
    }
}
Code bewerken en uitvoeren