在条件上插入数组项并计算其总和

时间:2019-03-06 11:54:11

标签: android

        "PaymentMode": "Cash",
        "Amount": 1000,
        "PaymentReferenceNumber": "",

      },
      {

        "PaymentMode": "CcAve",
        "Amount": 500,
        "PaymentReferenceNumber": "",

      },

      {

        "PaymentMode": "cash",
        "Amount": 0,
        "PaymentReferenceNumber": "IN0001-113",

      },
      {

        "PaymentMode": "Credited",
        "Amount": 500,
        "PaymentReferenceNumber": "IN0001-114",

      }

这就是我得到json响应的方式。我需要做的是,需要添加相应的付款参考号为空或为空的那些“金额”值。这就是我所做的

public int getTotalPayments() {
    int total = 0;
    for(OrderPayment payment : orderPayments) {
        if(payment.getPaymentReferencenumber().isEmpty()||payment.getPaymentReferencenumber().equals("NULL")){
          total += payment.getAmount();
       }
    }

    return total;
}

但是我错了。谁能帮忙

2 个答案:

答案 0 :(得分:0)

您的条件不正确。假设您要在此处检查空白的Reffrence号。 因此应为:-

public int getTotalPayments() {
    int total = 0;
    for(OrderPayment payment : orderPayments) {
        if (isEmpty(payment.getPaymentReferencenumber())) {
            total += payment.getAmount();
        }
    }
    return total;
}

private boolean isEmpty(String str) {
    if (TextUtils.isEmpty(str))
        return true;
    return str.toLowerCase().equals("null");
}

答案 1 :(得分:0)

看看你的逻辑,你说你得到的总和:

  • 引用为空 或
  • 不是“ NULL”的引用

大多数东西都不为空。

要回答您的问题,只需删除!

        if(payment.getPaymentReferencenumber().isEmpty()||payment.getPaymentReferencenumber().equals("NULL")){

哪个是  -引用为空 要么  -引用为“ NULL”