一,应用场景
应需求根据两组经纬度计算出B点相对于A点的角度后,根据这个角度在一组预置点中选取最近的一个预置点
二,代码部分
1 /** 2 * 计算一个数与一组数字中的哪一个数字大小最接近 3 * @param re 4 * @param ble 5 * @return 6 */ 7 public static int choicePreset(int[] re,int ble) { 8 //1.存差值的绝对值 9 int[] result=new int[re.length]; 10 //2.存差值对应的数字 11 Map<Integer, Integer> map=new HashMap<>(); 12 int min=0; 13 for (int i=0;i<re.length;i++) { 14 //3.计算出这两个数字之间的差,绝对值 15 min=Math.abs(re[i]-ble); 16 result[i]=min; 17 map.put(min, re[i]); 18 } 19 //对差值的绝对值排序 20 Arrays.sort(result); 21 //返回与ble差值最小一个数 22 return map.get(result[0]); 23 }
public static void main(String[] args) throws InterruptedException { int[] re= {1,5,6,9,25,36,95,64,23}; int ble=96; System.out.println(choicePreset(re, ble)); }
三.测试结果
原文地址:https://www.cnblogs.com/KdeS/p/12069931.html
时间: 2024-11-05 21:52:17