Как сделать расчет стоимости заказа?

201
01 января 2022, 22:50

Имеется map с ценами <наименование, цена> и map с заказом <наименование, количество>. Нужно рассчитать общую стоимость заказа. Цена в doble. Наименование String.

Answer 1
private static double toCalculatePrice(Map<String, Double> database, Map<String, Integer> order) {
    double price = 0;
    for (Map.Entry<String, Integer> entry : order.entrySet()) {
        if(database.containsKey(entry.getKey())) {
            price += database.get(entry.getKey()) * order.get(entry.getKey());
        } else {
            throw new IllegalArgumentException(); // или ваше исключение
        }
    }
    return price;
}

Тест:

Map<String, Double> database = new HashMap<>();
Map<String, Integer> order = new HashMap<>();
database.put("Carrot", 15.2);
database.put("Milk", 20.5);
order.put("Carrot", 20);
System.out.println(toCalculatePrice(database, order));

Выведет:

304.0

Однако, советую использовать BigDecimal, так как double может неверно считать, что для приложений с подсчетом денег не допустимо

READ ALSO
Как грамотно задать бэкграунд 3 блокам?

Как грамотно задать бэкграунд 3 блокам?

Есть 3 секции, я всегда задавал 1 div который покрывал 3 секции и задавал ему 1 бекграунд, правильной ли такой подход?

222
Как расположить блоки таким образом?

Как расположить блоки таким образом?

Как расположить блоки, как на фото?

132
Не простая задача на c++

Не простая задача на c++

Ломал голову час, но ничего кроме как решить задачу через массив не получилосьПреподаватель требует решить задачу без использования массивов

153