我将连续范围的双数分成几个子范围。我尝试创建一个方法,以便将每个子范围映射到特定的字符串值:
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论证者的类型没有任何限制。我需要指导才能将双数范围映射到特定值。
答案 0 :(得分:0)
好吧,我发现了问题。我改变了错误的代码行:
System.out.println(RRMap.floorEntry(qualityMap.get("Key")).getValue());
它有效!