Java代码:计算物品列表总价
public void calculateTotalPriceForItems(List<Item> items) {
BigDecimal totalPrice = BigDecimal.ZERO; // 初始化总价为0
for (Item item : items) { // 遍历物品列表
if (isPricePositive(item)) { // 如果物品价格为正数
totalPrice = totalPrice.add(item.getPrice().multiply(BigDecimal.valueOf(item.getQuantity()))); // 计算总价
}
}
logger.info('Total price: {},' totalPrice); // 输出总价
}
private boolean isPricePositive(Item item) {
return item.getPrice().compareTo(BigDecimal.ZERO) > 0; // 比较物品价格和0的大小关系,如果大于0则返回true
}
代码功能:
该代码实现计算给定物品列表的总价。它首先初始化一个BigDecimal类型的变量totalPrice为0,然后循环遍历物品列表,判断每个物品的价格是否为正数。如果价格为正数,则将该物品的价格乘以数量,并添加到totalPrice中。最后,输出总价。
代码逻辑:
- 循环遍历物品列表:使用
for循环遍历items列表中的每个Item对象。 - 判断价格是否为正数:调用
isPricePositive方法判断当前物品的价格是否为正数。 - 计算总价:如果价格为正数,则使用
BigDecimal的add和multiply方法计算当前物品的总价,并添加到totalPrice中。 - 输出总价:使用
logger.info方法输出总价。
代码中使用到的方法:
BigDecimal.ZERO: 代表0的BigDecimal对象。BigDecimal.add: 将两个BigDecimal对象相加。BigDecimal.multiply: 将两个BigDecimal对象相乘。BigDecimal.valueOf: 将一个数值转换为BigDecimal对象。Item.getPrice: 获取物品的价格。Item.getQuantity: 获取物品的数量。compareTo: 比较两个BigDecimal对象的大小。logger.info: 输出日志信息。
原文地址: https://www.cveoy.top/t/topic/mQmx 著作权归作者所有。请勿转载和采集!