LoslegenKostenlos loslegen

Computing mean, min, max

You would like to analyze sales data for your coffee business. The data contains the date of each transaction, coffee name, payment method, quantity sold, and transaction amount, as shown in the sample below. Compute the mean, minimum, and maximum transaction amounts formatted to two decimal places.

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

The necessary packages such as LocalDate, Arrays, and List have been imported for you.

Diese Übung ist Teil des Kurses

Cleaning Data in Java

Kurs anzeigen

Anleitung zur Übung

  • Compute the mean transaction amount using stats.
  • Compute the min and max transaction amounts using stats.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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 bearbeiten und ausführen