Dividing two integers to a double in java(在java中将两个整数除以一个double)
问题描述
我可以看到这是新程序员的常见问题,但是我没有成功地为我的代码实现任何解决方案.基本上我想将 w 和 v 相除,它们必须保存到一个双变量中.但它打印 [0.0, 0.0, ... , 0.0]
I can see this is a common problem for new programmers, however I didn't succeed in implementing any of the solution to my code. Basically I want to divide w and v, which must be saved to a double variable. But it prints [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];
发生在几个步骤中
This line here d = w[L] /v[L];
takes place over several steps
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
换句话说,在你转换成双精度之前,精度已经消失了,你需要先转换成双精度,所以
In other words the precision is already gone before you cast to double, you need to cast to double first, so
d = ((double)w[L]) / (int)v[L];
这会强制 java 在整个过程中使用双精度数学,而不是使用整数数学,然后在最后强制转换为双精度
This forces java to use double maths the whole way through rather than use integer maths and then cast to double at the end
这篇关于在java中将两个整数除以一个double的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在java中将两个整数除以一个double
基础教程推荐
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- 降序排序:Java Map 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01