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

为什么我这么写的double sum=score1+score2会报错:精度丢失呢?

为什么我这么写的double sum=score1+score2会报错:精度丢失呢?

正在回答

5 回答

public static int sum() { 这个方法的返回值为int ,但是你sum的类型是double肯定报错啊

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

欲速则不达1024 提问者

我以为它会智能转换呢
2015-07-21 回复 有任何疑惑可以回复我~

public class  Intelphone {

    

    // 定义静态变量score1

    static int score1 = 86;

    // 定义静态变量score2

static int score2 = 92; 


    // 定义静态方法sum,计算成绩总分,并返回总分

public static double sum() { 

      double sum=score1+score2;

      return sum;

      

}


public static void main(String[] args) {

        

        // 调用静态方法sum并接收返回值

int allScore =HelloWorld.sum(); 

        

System.out.println("总分:" + allScore);

}

}


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

error: possible loss of precision
return sum;
^
required: int
found: double
1 error

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

public class HelloWorld {

    

    // 定义静态变量score1

    static int score1 = 86;

    // 定义静态变量score2

static int score2 = 92; 


    // 定义静态方法sum,计算成绩总分,并返回总分

public static int sum() { 

      double sum=score1+score2;

      return sum;

      

}


public static void main(String[] args) {

        

        // 调用静态方法sum并接收返回值

int allScore =HelloWorld.sum(); 

        

System.out.println("总分:" + allScore);

}

}


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

你把所有代码发出来看看可以吗?

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

欲速则不达1024 提问者

public class HelloWorld { static int score1 = 86;static int score2 = 92; public static int sum() { double sum=score1+score2; return sum; }public static void main(String[] args) { int allScore =HelloWorld.sum(); System.out.println("总分:" + allScore); }}
2015-07-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530810    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

为什么我这么写的double sum=score1+score2会报错:精度丢失呢?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号