У меня есть некоторые константы f.e.:
BigDecimal ceiling1 = new BigDecimal(5);
BigDecimal ceiling2 = new BigDecimal(10);
BigDecimal ceiling3 = new BigDecimal(20);
BigDecimal rate1 = new BigDecimal(0.01);
BigDecimal rate2 = new BigDecimal(0.02);
BigDecimal rate3 = new BigDecimal(0.04);
BigDecimal rate4 = new BigDecimal(0.09);
Теперь на основе параметра f.e.:
BigDecimal arg = new BigDecimal(6);
Я хочу получить правильную ставку, которая основана на этом, если структура (упрощенная):
if(arg <= ceiling1) {
rate = rate1;
}else if(arg <= ceiling2) {
rate = rate2;
} else if (arg <= ceiling3) {
rate = rate3;
}else rate = rate4;
Так что в моем примере rate
должно быть rate2
Но мне интересно, знает ли кто-нибудь лучший способ реализовать это, вместо связки ifs.
Любые указатели приветствуются!
PS: я знаю, что мой код не на 100% прав, просто хотел показать идею