我有测试两个双数组的问题,如果它们是等于我写这个方法
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它不能
非常感谢
答案 0 :(得分:1)
比较双值的最佳方法是:
double a = 1.000000;
double b = 1.000009;
if(Math.abs(a-b)<=0.00000001){
System.out.println("equal");
}
0.00000001
被称为epsilon
,您可以相应地进行调整。