我可以看到这是新程序员的常见问题,但是我没有成功地为我的代码实现任何解决方案。基本上我想除以 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;
}
原文由 roarknuppel 发布,翻译遵循 CC BY-SA 4.0 许可协议
此处的这一行
d = w[L] /v[L];
发生在几个步骤中换句话说,在你投双之前精度已经消失了,你需要先投双,所以
这迫使 java 在整个过程中使用双精度数学,而不是使用整数数学,然后在最后强制转换为双精度