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

java转换类型

 avg = sum / (double)i;

这样转换方式错了吗,老是报错

正在回答

4 回答

在这道题里,会出现   i = 0;的情况,而  0  不能做分母,所以你运行就会报错,不是你的转换出问题了,而是运算出问题了,而且int类型的   i  会自动转换为double类型,不需要强制转换

0 回复 有任何疑惑可以回复我~
public class Hello {
    public static void main(String[] args) {
        double sum = 10.0;
        double avg = 0;
        for (int i = 1; i < 10; i++) {
            avg = sum / (double) i;  //其实不需要强制类型转换!int的i自动转换成double
            System.out.println("avg= " + avg);
        }
    }
}


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

没错的  查看下 avg  sum的类型吧

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

Minke 提问者

都是double
2016-02-15 回复 有任何疑惑可以回复我~
#2

Minke 提问者

i 是在for循环语句里面声明和定义的,这样为什么不可以
2016-02-15 回复 有任何疑惑可以回复我~
#3

跳跃的鱼 回复 Minke 提问者

你要分清楚局部变量和成员变量,i只能在for里面使用,avg是在for外面,所以会报错
2016-02-23 回复 有任何疑惑可以回复我~

看起来没错呀

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

举报

0/150
提交
取消

java转换类型

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