返回所有输入的真实平均值。参数都是整数

时间:2014-09-03 00:44:34

标签: java int double

我需要帮助返回双倍平均值而不使用双参数。到目前为止,我有所有的整数,但它返回一个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;
    }
}

5 个答案:

答案 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;