3.2节 任务 第八行 是不是有问题?

来源:3-2 Java中的算术运算符

红砖

2016-01-20 22:47

double avg = (double)sum/4;
double avg = sum/4;

直接拿四个数求出的平均值是26.25,那么题目的意思应该也是26.25不是吗?不应该用强转防止小数因为int被切掉吗?

写回答 关注

3回答

  • Marklov
    2016-01-20 23:23:51
    已采纳

    age1~age4都是int型,sum也是int型,整数类型int不能强转为double浮点型,因为int整型的存储范围比double浮点型小,如果要实现26.25,需要将前面的数据类型都改为double浮点型。不知道能不能帮到你

    红砖

    非常感谢!

    2016-01-23 11:09:54

    共 2 条回复 >

  • Fnsen
    2016-02-13 12:26:14

    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


  • 那一瞬温暖的微笑
    2016-01-20 23:11:22

    题目要求是26.0,所以sum/4不应强换,转换后26.25,不符合提议

    红砖

    谢谢~我的意思是 题目压根就是错的 包括他给出的答案......→_→

    2016-01-22 11:21:53

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165172 学习 · 17581 问题

查看课程

相似问题