在Java中将两个整数除以double
我可以看到这对于新程序员来说是一个普遍的问题,但是我没有成功实现我的代码的任何解决方案。基本上,我想将w和v除,必须将其保存到double变量中。但它打印[0.0,0.0,…,0.0]
public static double density(int[] w, int[] v){double d = 0;
for(L = 0; L < w.length; L++){
d = w[L] /v[L];
}
return d;
}
回答:
此行分d = w[L] /v[L];
几步进行
d = (int)w[L] / (int)v[L]d=(int)(w[L]/v[L]) //the integer result is calculated
d=(double)(int)(w[L]/v[L]) //the integer result is cast to double
换句话说,精度在转换为两倍之前已经消失了,您需要先转换为两倍,所以
d = ((double)w[L]) / (int)v[L];
这迫使Java在整个过程中都使用double数学,而不是使用整数数学,然后在最后转换为double
以上是 在Java中将两个整数除以double 的全部内容, 来源链接: utcz.com/qa/407837.html