class Eq {
    int id;
    int level;
  }  public int getEquipId(Vector<Eq> veq, int tLevel) {
    int id=0;
......
    return id;  }求的是veq中所有对象的level最接近tLevel的id.比如,我想求 最接近 35这个数的ID. 有这样一些对象[1,22][2,33][3,44][4,55]
从这些对象中 求出的结果是2.
请问具体算法。

解决方案 »

  1.   

    public int getEquipId(Vector<Eq> veq, int tLevel) {
        int id=0;
        int []data = new int[veq.size()];
        for(int i=0;i<veq.size();i++){
          data[i] = Math.abs(veq.get(i).level - tLevel);
        }
        int pos =0;
        int min = data[0];
        for(int n=0;n<data.length;n++){
          if(data[n]<min){
            min = data[n];
            pos = n;
          }
        }
        id = veq.get(pos).id;
        return id;  }
    是这个意思吗?