请考虑以下代码段:
int[] dataSet = {1,2,3,4};
int total = 0;
for(int temp : dataSet){
total += temp;
}
double mean = (total / dataSet.length);
System.out.println(mean);
我希望它输出2.5,因为这是1,2,3,4的平均值。而是打印了2.0。为什么会这样,我该如何解决?
答案 0 :(得分:0)
Java 7或更高版本(如果您使用int / int,则您具有int
尝试将一个数字强制翻倍。
double res = 1 /(double)2;
答案 1 :(得分:0)
您的除法是整数除法。 尝试以下操作:
double mean = (((double)total) / dataSet.length);