我需要用2位小数生成以下代码的答案

时间:2014-08-07 09:53:53

标签: java

我是Java编程的新手,也是我大学的第二周。

我写了这段代码来总结4个人的年龄,平均这个数字并产生数值结果。

我已经这样做了,但我需要这段代码给我一个2位小数的答案。

我得到的答案是36(预期答案应该是36.75)。

这是我到目前为止所拥有的。任何帮助将非常感谢。

public static void main(String[] args) {
    int age1 = 18;
    int age2 = 35;
    int age3 = 50;
    int age4 = 44;
    double averageAge = (age1 + age2 + age3 + age4) / 4;
    System.out.println(averageAge);
}

4 个答案:

答案 0 :(得分:3)

您要将integerinteger分开。您可以通过以下方式将此结果转换为double: -

double averageAge = (double)(age1 + age2 + age3 + age4) / 4;

答案 1 :(得分:1)

您必须除以浮点数。

public static void main(String[] args) throws ParseException {
    int age1 = 18;
    int age2 = 35;
    int age3 = 50;
    int age4 = 44;
    double averageAge = (age1 + age2 + age3 + age4) / 4.0;
    System.out.println(averageAge);
}

答案 2 :(得分:1)

int/int=int

您将int值除以int,然后结果也是int

检查

double averageAge = (age1 + age2 + age3 + age4) / 4.0;

现在您将得到正确的答案。现在您将int除以double,答案将为double

答案 3 :(得分:-1)

我不应该回答这个问题但是......

public static void main(String[] args)
    {
        double age1 = 18;
        double age2 = 35;
        double age3 = 50;
        double age4 = 44;
        double averageAge = (age1 + age2 + age3 + age4) / 4;
        DecimalFormat df = new DecimalFormat("#.");
        String averageAgeFormatted = df.format(averageAge);
        System.out.println(averageAgeFormatted);
    }    

使用double可获得更好的精度,但如果您使用BigDecimal

,则理想的解决方案