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



我正在从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);
}

最新更新