首页 > 解决方案 > 特定数字的示例搜索名称

问题描述

例子

我想将 SDK 编号与一个值进行比较,并显示该值的名称示例 sdk 25 = nougat

字符串 sdks = Build.VERSION.SDK;

    int Alpha = 1;
    int Beta = 2;
    int CupCake = 3;
    int Donut = 4;
    int Eclair= 5-7;
    int Froyo = 8;
    int GingerBread = 9-10;
    int HoneyComb = 11-13;
    int IceCreamSandwich = 14-15;
    int JellyBean = 16-18;
    int KitKat = 19-20;
    int Lollipop = 21-22;
    int MarshMellow = 23;
    int Nougat = 24-25;
    int Oreo = 26-27;
    int Pie = 28;

resultview.setText(sdks);

标签: stringandroid-studio

解决方案


我认为 Map 解决方案的实施很简单,因为它的范围很小

  public static void main(String []args){
        Map<Integer,String> sdkMap = new HashMap<Integer,String>();
        //populate other fields similarly
        HelloWorld.populateRange("24-25","Nougat",sdkMap);
        System.out.println(sdkMap.get(24));


     }

     public static void populateRange(String range,String name, Map<Integer,String> sdkMap){
         String[] splitNumbers = range.split("-");
         int low = Integer.parseInt(splitNumbers[0]);
         int high = Integer.parseInt(splitNumbers[1]);
         for(int i=low;i<=high;i++){
             sdkMap.put(i,name);
         }
     }

工作示例


推荐阅读