/** * 任务:已知一个球的半径为 12.0,求该球的体积。 * 类名为:Sphere */ public class Sphere { // 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码 /********** Begin **********/ //定义圆的半径和π,π为 Math中的π double r; static double PI = Math.PI; //无参构造 public Sphere(){ } //有参构造 public Sphere(double r){ this.r = r; } //定义一个方法,该方法实现计算球的体积,返回值为double,携带一个参数,为球的半径 public double volume(double r){ double v = 4 * 1.0 / 3 * PI * Math.pow(r,3); return v; } //定义主方法 public static void main(String[] args) { //通过无参构造创建球对象 Sphere sphere = new Sphere(); //调用计算球体积的方法,将半径 r 的值传入 double V = sphere.volume(12.0); //四舍五入格式化不换行输出球的体积,输出格式:球的体积为xx System.out.print("球的体积为" + String.format("%.2f",V)); } /********** End **********/ }
时间: 2023-07-06 10:35:02 浏览: 230
创建类MyMath,计算圆的周长、面积和球的表面积、体积,结果保留两位小数。若输入的是非数字,则输出:请输入数字!提示:要引入math包。
5星 · 资源好评率100%
你的代码已经很完整了,可以计算出球的体积。但是,可以做一些小的改进来提高代码的可读性和复用性。
1. 可以将球的半径r作为类的属性来定义,这样可以在方法中直接调用。
2. 可以将计算球体积的方法volume()改为静态方法,这样可以在不创建对象的情况下直接调用。
改进后的代码如下所示:
```java
public class Sphere {
// 定义圆的半径和π,π为 Math中的π
double r;
static double PI = Math.PI;
// 有参构造
public Sphere(double r) {
this.r = r;
}
// 计算球的体积,返回值为double,携带一个参数,为球的半径
public static double volume(double r) {
double v = 4.0 / 3 * PI * Math.pow(r, 3);
return v;
}
// 定义主方法
public static void main(String[] args) {
// 调用计算球体积的方法,将半径 r 的值传入
double V = volume(12.0);
// 四舍五入格式化不换行输出球的体积,输出格式:球的体积为xx
System.out.print("球的体积为" + String.format("%.2f", V));
}
}
```
这样改进后的代码可读性更高,也更易于复用。
阅读全文