0

我将一个连续的双数范围划分为几个子范围。我尝试创建一个方法来将每个子范围映射到特定的字符串值:

static NavigableMap < Double, String > RRMap = new TreeMap < Double, String > ();
static HashMap < String, Double > qualityMap = new HashMap < String, Double > ();

public static void main(String args[]) {

    qualityMap.put("Key", 0.3);
    RRMap.put(0.0, "A"); // 0..11     => Bradypnea
    RRMap.put(1.2, "B"); // 12..14    => Unreliable_Ranges
    RRMap.put(1.5, "C"); // 15..20    => Normal Activity
    RRMap.put(2.1, "D"); // 21..25    => Unreliable_Ranges
    RRMap.put(2.6, "E");

    method();

}

// lines of codes
public static void method() {

    System.out.println(floorEntry(qualityMap.get("Key")).getValue());

}

在名为“method”的函数中,我想打印映射到 qualityMap 中存在的数字并且是“key”的值的字符串值。但它不起作用,我在行中遇到错误:

     System.out.println(floorEntry(qualityMap.get("Key")).getValue());

它说 floorEntry 不适用于双倍数。我研究了http://docs.oracle.com/javase/6/docs/api/java/util/TreeMap.html但是,对 floorEntry 参数的类型没有任何限制。我需要指导才能将双数范围映射到特定值。

4

1 回答 1

0

嗯,我发现了问题。我更改了错误的代码行:

    System.out.println(RRMap.floorEntry(qualityMap.get("Key")).getValue());

它有效!

于 2013-05-02T13:06:39.030 回答