使用 Coupon.equals 比较 If 循环中的字符串

Comparing Strings in If loop using Coupon.equals

我正在从 JSON 读取数据并尝试与我想要的验证进行比较。 它有效,但有更好的方法吗?

我希望它验证从“0.025”、“0.03”、“0.035”、“0.04”、“0.045”、“0.05”等到 1.00 的值

代码:

 String Coupon = (String) data.get("coupon");
              
if(Coupon.equals("0.025")||Coupon.equals("0.03")||(Coupon.equals("0.035")||Coupon.equals("0.04"))||(Coupon.equals("0.045")||Coupon.equals("0.05"))){
    System.out.println("Valid Data Found");  
}

验证一组固定数据的最简单方法可能是使用 Set 并检查您的优惠券是否包含在有效数据中。

例如:

public static void main(String[] args) {
    String inputString = "0.03";
    Set<String> validCoupons = new HashSet<>(
        Arrays.asList("0.025", "0.03", "0.035", "0.04", "0.045", "0.05"));
    if (validCoupons.contains(inputString)) {
        System.out.println("Valid coupon found!");
    }
}

你可以这样做:

for (double i = 0.025; i <= 1;) {
        String temp=String.valueOf(i);
        if (Coupon.equals(temp)) {
            System.out.println("Valid Data Found");
        }
        System.out.println(String.valueOf(temp));
        BigDecimal num1 = new BigDecimal(temp);
        BigDecimal num2 = new BigDecimal("0.005");
        BigDecimal addResult = num1.add(num2);
        String addStr=String.valueOf(addResult);
        i=Double.parseDouble(addStr);
    }