如何在Java中读取属性文件中的范围值

时间:2012-08-08 14:18:50

标签: java drools

我想从属性文件中读取值作为一系列值。 我的任务是,根据获得的积分计算结果。 例如,点是,

<100 : some result.
101 - 110 : Some result.
111 - 120 : Some result.
121 - 130 : some result.
.....
.....
991 - 1000 : some result.
>1000 : some result.

是否存在从Properties文件中存储和获取结果的任何方式,而不是将[key,value]对从1放置到1000,因为我也可以获得浮点值? 我是否应该为所有可能的条件写if else语句?

1 个答案:

答案 0 :(得分:0)

我会使用数组

String[] results = "<100,<100,<100,<100,<100,<100,<100,<100,<100,<100,result101-110,result111-120, etc".split(",");

String result = results[(value-1)/10];

如果范围不同,您可以使用NavigableMap

NavigableMap<Double, String> map = ...
String result = map.higherEntry(value).getValue();

在哪种情况下,格式可以是upper-limit result

100 some result.
110 Some result.
120 Some result.
130 some result.
.....
.....
1000 Some result.
Infinity some result.