我根据老师的题目写的代码,结果为什么会这样?为什么这么长?

来源:10-3 Java 中的抽象类

丶低调丶

2017-06-29 13:29


http://img.mukewang.com/59548fc8000188a204580219.jpg

http://img.mukewang.com/59548fc9000111c203840372.jpg

http://img.mukewang.com/59548fc90001375903650376.jpg

http://img.mukewang.com/59548fc900016a0903940231.jpg

http://img.mukewang.com/59548fc90001bea702720133.jpg

为什么会是28.25999999...8?

写回答 关注

3回答

  • weibo_Evan_看戏的戏子_0
    2017-06-30 18:03:56
    已采纳

     import java.math.BigDecimal;

            BigDecimal b1 = new BigDecimal(Double.toString(r*r));

            BigDecimal b2 = new BigDecimal(Double.toString(pi));

            s = b1.multiply(b2).doubleValue();

      

    java直接进行浮点数运算会丢失精度。要转换成大数进行运算。输入上面的代码试试。

    丶低调丶

    非常感谢!

    2017-06-30 18:25:01

    共 1 条回复 >

  • 尘1257343
    2017-08-20 20:50:03

    为什么会出现这样的错误,还有红笔画出来的 JA 是什么意思??http://img.mukewang.com/5999857400015a5509610217.jpg

  • weibo_Evan_看戏的戏子_0
    2017-06-29 13:56:15
    把s2.DS(3)改成s2.DS(3.0)试试。


    丶低调丶

    你看看这个图片,是不行的。不是3.0的问题

    2017-06-29 18:34:01

    共 2 条回复 >

Java入门第二季 升级版

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

530653 学习 · 6091 问题

查看课程

相似问题