问答详情
源自:10-3 Java 中的抽象类

关于本章的练习题

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

  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


提问者:MrAugus 2016-03-11 14:28

个回答

  • 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