有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java C比较数组值并查找最近的

我的问题是: 有两个数组

double [] a = {0.5, 0.6, 0.3}; double [] b = {0.2, 0.1, 0.9};

我还有第三个数组:double [] c = {0.1, 0.2, 0.8}。 正如我们所看到的,这个数组的各个元素都离第二个数组最近->;0.2-0.1<;0.5-0.1(b[0]-c[0]<;a[0]-c[0])

换句话说,我必须从其他数组中找到最近的数组

那么,如何在代码中确定这一点呢


共 (1) 个答案

  1. # 1 楼答案

    如果只想通过绝对值找到最近的数组,可以使用数学。abs()方法来获取并比较它们

    public static double[] nearestArray(double[] a,double[] b,double[] c){
        double an=0,bn=0;
        for(int i =0;i<c.length;i++){
            an=an+Math.abs(a[i]-c[i]);
            bn=bn+Math.abs(b[i]-c[i]);
        }
        if(an>bn){
            return b;
        }else if(bn>an){
            return a;
        }else{
            return null;
        }
    }
    

    但是如果你想在线性规划中找到最接近的数组,你可以在matlab或python上处理数据