慕瓜7049329
2019-12-30 14:45
平均数计算不是在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);
}
}
代码都没有怎么给你解决问题呢
Java入门第一季(IDEA工具)
1168678 学习 · 18758 问题
相似问题