else if 优雅的替换

打标签,多个范围,只会满足一个 怎么优雅的进行标签的判断
tag_code tag_name
txn_at_001 最近1年交易金额是否为0
txn_at_002 最近1年交易金额是否为(0,1w)
txn_at_003 最近1年交易金额是否为[1w,3w)
txn_at_004 最近1年交易金额是否为[3w,5w)
txn_at_005 最近1年交易金额是否为[5w,10w)
txn_at_006 最近1年交易金额是否为[10w,20w)
txn_at_007 最近1年交易金额是否为[20w,30w)
txn_at_008 最近1年交易金额是否为[30w,50w)
txn_at_009 最近1年交易金额是否为[50w,80w)
txn_at_010 最近1年交易金额是否为[80w,120w)
txn_at_011 最近1年交易金额是否为[120w,+)

交易金额只会满足一个,可是需要全部判断一遍

可以用数组存储不同的范围区间,定义一个函数判断是否满足当前范围,然后用for循环遍历范围区间,并调用判断范围函数。如下

// 定义一个数组,存储不同的范围区间
int[][] ranges = {
    {0, 0},
    {1, 10000},
    {10000, 30000},
    {30000, 50000},
    {50000, 100000},
    {100000, 200000},
    {200000, 300000},
    {300000, 500000},
    {500000, 800000},
    {800000, 1200000},
    {1200000, Integer.MAX_VALUE}
};

// 定义一个数组,存储标签的标签码和标签名
String[][] tags = {
    {"txn_at_001", "最近1年交易金额是否为0"},
    {"txn_at_002", "最近1年交易金额是否为(0,1w)"},
    {"txn_at_003", "最近1年交易金额是否为[1w,3w)"},
    {"txn_at_004", "最近1年交易金额是否为[3w,5w)"},
    {"txn_at_005", "最近1年交易金额是否为[5w,10w)"},
    {"txn_at_006", "最近1年交易金额是否为[10w,20w)"},
    {"txn_at_007", "最近1年交易金额是否为[20w,30w)"},
    {"txn_at_008", "最近1年交易金额是否为[30w,50w)"},
    {"txn_at_009", "最近1年交易金额是否为[50w,80w)"},
    {"txn_at_010", "最近1年交易金额是否为[80w,120w)"},
    {"txn_at_011", "最近1年交易金额是否为[120w,+)"},
};

// 定义一个函数,用于判断当前交易金额是否在指定的范围内
boolean isInRange(int amount, int start, int end) {
    if (amount >= start && amount < end) {
        return true;
    } else {
        return false;
    }
}

int amount = 100000; // 当前交易金额

for (int i = 0; i < ranges.length; i++) {
    int start = ranges[i][0];
    int end = ranges[i][1];
    if (isInRange(amount, start, end)) {
        String tagCode = tags[i][0];
        String tagName = tags[i][1];
        System.out.println("tagCode: " + tagCode + ", tagName: " + tagName);
    }
}
if(a>1200000){ }
else if(a>800000){ }
else if(a>500000){ }
else{ }