我是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);
}
答案 0 :(得分:3)
您要将integer
与integer
分开。您可以通过以下方式将此结果转换为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
,则理想的解决方案