关于本章的练习题

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

MrAugus

2016-03-11 14:28

代码没有出现逻辑问题并且能够正常运行。但有几个问题:

  1. 当圆的半径输入为5的时候,圆的周长竟然会出现很多位小数,而输入其他的数字目前没发现问题。

  2. 如何设置保留的小数位数?比如:保留两位小数。

  3. 我将double类型全部换为float类型时,为什么在Circle类perimeter方法中return语句提示我"Type mismatch:cannot convert from double to float",难道说小数相乘的结果就是double类型吗?

  4. 想请教代码是否还有优化的空间?,如果可以请贴出优化以后的代码。我总觉得虽然能执行结果但写得啰嗦了一些。

感谢!

56e2621100011edf05000120.jpg

56e262130001173405000316.jpg

56e262130001b3ca05000320.jpg

56e262150001c81803850316.jpg

56e262150001ac5d05000375.jpg


写回答 关注

1回答

  • zhiyun_xu111
    2016-03-11 20:05:01
    已采纳

    这种提示Type mismatch:cannot convert from double to float就是说不能把double型的变成float的,像有数点这种情况默认都是double型的。

    如果你想改成flaot型,你要记得把返回类型都改成float型才可以。

    我觉得整体代码没有问题,你觉得啰嗦可能是因为main函数哪里写得太多了!那些半径什么的都要自己输入。

    这个是我的代码,你看看对你有没有用,我也是自己琢磨了,因为retangle是正方形,所以我就只定义了一条边

    56e2b46400011f8604680253.jpg

    56e2b464000159e005000412.jpg

    56e2b4650001462605000400.jpg

    56e2b46600010d6904850492.jpg


    MrAugu...

    万分感谢!原来小数点默认是double类型。前面加上(float)就是强制类型转换了吧?理解啦!不过还是有一点不清楚的是为什么在我输入圆的半径为5的时候,圆的周长竟然会出现那么多位小数。是公式写的不对吗?

    2016-03-12 09:48:37

    共 2 条回复 >

Java入门第二季 升级版

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

530562 学习 · 6091 问题

查看课程

相似问题