为了账号安全,请及时绑定邮箱和手机立即绑定

这里边的int avg=(age1+age2+age3+age4)/4;为什么不能直接写为int avg=sum/4;???

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;

int avg=(age1+age2+age3+age4)/4;

int minus=age1-age2;

int newAge=--age1;

    System.out.println("年龄总和:"+sum);

    System.out.println("平均年龄:"+avg);

System.out.println("年龄差值:"+minus);

System.out.println("自减后的年龄:"+newAge);


}

}


正在回答

4 回答

double avg=(double )sum/4; 输出后的结果是有小数的。他这里题目要求的是没有小数。 故此可以肯定。是先运算sum/4.然后在强转。答案就是double avg=(double)(sum/4)


1 回复 有任何疑惑可以回复我~
#1

慕标1060215

double 比 int 大这里不是强制转换
2022-05-19 回复 有任何疑惑可以回复我~

double avg=sum/4;

0 回复 有任何疑惑可以回复我~

因为他要求的结果是26.0,是小数,int只是整数,用double可以得出

0 回复 有任何疑惑可以回复我~

和除以4不一定就是整数,前边应该改为double,

1 回复 有任何疑惑可以回复我~
#1

Han_zhihua

不好意思,刚才没细看,可以直接写成int avg=sum/4 吧,结果没差
2020-11-03 回复 有任何疑惑可以回复我~
#2

Han_zhihua

double avg = (double)sum/4;感觉这样比较好吧,个人拙见。
2020-11-03 回复 有任何疑惑可以回复我~
#3

StudentBird 回复 Han_zhihua

double avg=(double )sum/4; 输出后的结果是有小数的。他这里题目要求的是没有小数。 故此可以肯定。是先运算sum/4.然后在强转。答案就是double avg=(double)(sum/4)
2020-12-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这里边的int avg=(age1+age2+age3+age4)/4;为什么不能直接写为int avg=sum/4;???

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信