为什么平均的结果是26.0,不是26.25
平均数计算不是在age1自减之前的吗?
平均数计算不是在age1自减之前的吗?
2019-12-30
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类型的。
以后你做什么高精度的业务逻辑也要使用这个进行计算。
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);
}
}
举报