向各位大侠求救!有
Map<String,Float> map=new HashMap<String,Float>();
map.put("重点线",135.5);
map.put("本科线",120);
map.put("专科线",102.3);
map.put("高职线",90);表示在135.5以上的属于重点线,120-135.5以上的属于本科线,其他类似。有一函数
String getLine(Float score);
如何根据给出的score,从map中返回score所属的分数线名呢?

解决方案 »

  1.   

    给你个思路,把map 中的所有分数取出来放到数组里。在将所要比较的分数到如到数组里排序。
    这样就可以去到分数所在的段了。你这个Map把分数做key,分数线名做value更合理些。
      

  2.   

    import java.util.Arrays;
    import java.util.HashMap;
    import java.util.Map;
    public class Mapget {
    Map <String,Float> map=new HashMap <String,Float>(); 
    public  Mapget(){
    map.put("重点线",135.5f); 
    map.put("本科线",120f); 
    map.put("专科线",102.3f); 
    map.put("高职线",90f); 
    }
    public String getLine(Float score){

    float score1[]=new float[4];
    int i=0;
    score1[0]=map.get("高职线");
    score1[1]=map.get("专科线");
    score1[2]=map.get("本科线");
    score1[3]=map.get("重点线");
    if(score>=score1[0]&&score<score1[1])
    return "高职线";
    if(score>=score1[1]&&score<score1[2])
    return "专科线";
    if(score>=score1[2]&&score<score1[3])
    return "本科线";
    if(score>=score1[3])
    return "重点线";
    return null;

    }
    /**
     * @param args
     */
    public static void main(String[] args) {

        Mapget t=new Mapget();
    System.out.println(t.getLine(110f));
    }}