У меня есть абстрактный класс Transaction
, где бы я хотел был бы рассчитать общую стоимость каждого Transaction
. Общая стоимость рассчитывается путем получения цены каждого Product
в Map
, а затем умножить эту цену на количество каждого Product
. Я просто не знаю, как умножить эти цены на величины, которые являются значениями в Map
. Кто-нибудь может мне помочь? Я пробовал почти все, и ничего не работает.Расчетная стоимость
public abstract class Transaction
{
//Attributes
...
//Links
Map<Product,Integer> products;
//Constructor
Transaction()
{
id = newTrId.incrementAndGet();
date = new Date();
products = new HashMap<>();
}
abstract void addProduct(Product aProduct, int aQuantity);
BigDecimal calculateTotal()
{
BigDecimal total = new BigDecimal(0);
for(Product eachProduct : products.keySet())
{
total.add(eachProduct.getPrice());
}
for (Integer eachProduct : products.values())
{
}
return total;
}
}
'total.add (eachProduct.getPrice() * products.get (eachProduct));' Это будет захватить 'Integer' в' '' продуктов Карта 'и умножить на цену' eachProduct'. Добавьте это в свой цикл 'for-each' вместо того, чтобы делать другой цикл. – Orin