double avg = (double)sum/4; double avg = sum/4;
直接拿四个数求出的平均值是26.25,那么题目的意思应该也是26.25不是吗?不应该用强转防止小数因为int被切掉吗?
age1~age4都是int型,sum也是int型,整数类型int不能强转为double浮点型,因为int整型的存储范围比double浮点型小,如果要实现26.25,需要将前面的数据类型都改为double浮点型。不知道能不能帮到你
package HelloJava;
public class test1 {
public static void main(String[] args) {
double age1=24;
double age2=18;
double age3=36;
double age4=27;
double sum=age1+age2+age3+age4;
double avg=sum/4;
double minus=age1-age2;
double newAge=--age1;
System.out.println("年龄总和:"+sum);
System.out.println("平均年龄:"+avg);
System.out.println("年龄差值:"+minus);
System.out.println("自减后的年龄:"+newAge);
}
}
你是这个意思吗 double要输出26.25. 但是sum是int 除以4 还是int
题目要求是26.0,所以sum/4不应强换,转换后26.25,不符合提议