两个双数组相等

时间:2013-10-18 17:44:57

标签: java arrays

我有测试两个双数组的问题,如果它们是等于我写这个方法

    public static boolean equalsArray(double[]a,double[]b){
    if(a.length!=b.length)
        return false;
    else{
        for(int i=0;i<a.length;i++)
        if(a[i]!=b[i])
            return false;
    }
    return true;
}

每当我使用它时,我都会误! 例如:

double []a={1.7,6.9};
double []b={1.7,6.9};
System.out.println(equalsArray(a,b));

它适用于int数组但是使用double它不能

非常感谢

1 个答案:

答案 0 :(得分:1)

比较双值的最佳方法是:

double a = 1.000000;
    double b = 1.000009;
    if(Math.abs(a-b)<=0.00000001){
        System.out.println("equal");
    }

0.00000001被称为epsilon,您可以相应地进行调整。