Имеется map с ценами <наименование, цена> и map с заказом <наименование, количество>. Нужно рассчитать общую стоимость заказа. Цена в doble. Наименование String.
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 может неверно считать, что для приложений с подсчетом денег не допустимо
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть 3 секции, я всегда задавал 1 div который покрывал 3 секции и задавал ему 1 бекграунд, правильной ли такой подход?
Ломал голову час, но ничего кроме как решить задачу через массив не получилосьПреподаватель требует решить задачу без использования массивов