我需要帮助返回双倍平均值而不使用双参数。到目前为止,我有所有的整数,但它返回一个int。我需要真正的平均值,应该是2.66666666667
public class NumAvg {
public static void main(String[] args) {
int a, b, c;
double average;
a = 5;
b = 2;
c = 1;
average = findAverage(a, b, c);
System.out.print(average);
}
public static double findAverage(int a, int b, int c) {
double findAverage;
findAverage = (a + b + c)/3;
return findAverage;
}
}
答案 0 :(得分:2)
您正在执行Java的整数除法,它必须返回另一个整数。您可以使用double
字面值或将其中一个数字转换为double
来强制浮点除法。将findAverage
指定为double
是不够的。尝试
findAverage = (a + b + c) / 3.0;
答案 1 :(得分:0)
类似的东西:
findAverage = (double) (a + b + c) / 3.0;
我真的不记得它是怎么称呼的。
UPD:它叫“铸造”。
答案 2 :(得分:0)
尝试将参数转换为double。 findAverage = ( (double)( a + b + c ) )/3.0d;
答案 3 :(得分:0)
只是这样做:
findAverage = (double)(a + b + c)/3;
答案 4 :(得分:0)
您必须将所有int
个数字强制转换为double
。
findAverage = ((double)a + (double)b + (double)c)/3;