平均数计算不是在age1自减之前的吗?
因为之前定义的sum是一个整数类型,在运算时应该是先进行sum/4得到一个整数后面才赋值给double型的avg
public static void main(String[] args) { int age1=24; int age2=18; int age3=36; int age4=27; int sum=age1+age2+age3+age4; BigDecimal sum1 = new BigDecimal(sum); BigDecimal four = new BigDecimal("4"); BigDecimal avg = sum1.divide(four); int minus=age1-age2; int newAge=--age1; System.out.println("年龄总和:"+sum); System.out.println("平均年龄:"+avg); System.out.println("年龄差值:"+minus); System.out.println("自减后的年龄:"+newAge);
这个数据类型的精度问题,还需要自身多去看看基础知识。这里我使用BigDecimal。这个可以传很多类型的参数进去转成BigDecimal,推荐使用String类型的。
以后你做什么高精度的业务逻辑也要使用这个进行计算。
除4改成4.0f 其实用double就行
public class HelloWorld{
public static void main(String[] args) {
int age1=24;
int age2=18;
int age3=36;
int age4=27;
int sum=age1+age2+age3+age4;
float avg=sum/4;
int minus=age1-age2;
int newAge=--age1;
System.out.println("年龄总和:"+sum);
System.out.println("平均年龄:"+avg);
System.out.println("年龄差值:"+minus);
System.out.println("自减后的年龄:"+newAge);
}
}
代码都没有怎么给你解决问题呢