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中。最后,输出总价。

代码逻辑:

  1. 循环遍历物品列表:使用for循环遍历items列表中的每个Item对象。
  2. 判断价格是否为正数:调用isPricePositive方法判断当前物品的价格是否为正数。
  3. 计算总价:如果价格为正数,则使用BigDecimaladdmultiply方法计算当前物品的总价,并添加到totalPrice中。
  4. 输出总价:使用logger.info方法输出总价。

代码中使用到的方法:

  • BigDecimal.ZERO: 代表0的BigDecimal对象。
  • BigDecimal.add: 将两个BigDecimal对象相加。
  • BigDecimal.multiply: 将两个BigDecimal对象相乘。
  • BigDecimal.valueOf: 将一个数值转换为BigDecimal对象。
  • Item.getPrice: 获取物品的价格。
  • Item.getQuantity: 获取物品的数量。
  • compareTo: 比较两个BigDecimal对象的大小。
  • logger.info: 输出日志信息。
Java代码:计算物品列表总价

原文地址: https://www.cveoy.top/t/topic/mQmx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录