R6-2 锥体体积和-接口 (20 分)

不同锥体求体积的方法不一样,为了使编写的程序能够适应求不同锥体体积和,采用面向接口的编程,其类图如下图所示:

绘图3.jpg

根据以上类图,你需要设计和编写如下类:

1.ICone接口类 ,里面有double getVolume()接口方法

2.圆锥体类Circular_cone实现接口ICone,有属性底面圆半径double r和高 double h ,有参构造方法给属性赋值及对接口方法的实现,其中PI=3.14

3.三棱锥体类Triangular_cone实现接口ICone,有属性底面三角形一边double a及对应边的高double h1,锥体的高double h,有参构造方法给属性赋值及对接口方法的实现

4.三棱锥体的体积V=1/3*S(底面积)*h(锥体的高) 底面三角形面积S=a*h1/2

5.业务类TotalVolume类完成对不同锥体体积求和,有属性ICone [] cone 数组用来存储 不同锥体对象,Setcone(ICone [] t) 给属性cone赋值,double computeTotalVolume()方法用来计算cone数组中存放的不同锥体的体积和,并返回体积和。

主类已经给出,请结合主类完成上面类的编写

###裁判测试程序主类:

import java.util.Scanner;
public class Main {public static void main(String[] args) {ICone [] cone=new ICone[29]; //有29个ICone对象Scanner sc=new Scanner(System.in);double r=sc.nextDouble();//r为半径double a=sc.nextDouble();//a为三角形一边double h1=sc.nextDouble();//h1为三角形a对应的高double h=sc.nextDouble();//锥体高for(int i=0;i

输入样例:

输入基础数据顺序: 半径,三角形边 和高,锥体的高。例如:

5 3 4 6

结尾无空行

输出样例:

在这里给出相应的输出。例如:

各种锥体的体积之和:
41991.80

结尾无空行

代码如下(各类):

interface ICone {
    public double getVolume();
}
class Circular_cone implements ICone {
    double r, h;
    
    public Circular_cone(double r, double h) {
        super();
        this.r = r;
        this.h = h;
    }

    public double getVolume() {
        return 3.14*r*r*h/3;
    }
}
class Triangular_cone implements ICone {
    double a;
    double h1;
    double h;
    
    public Triangular_cone(double a, double h1, double h) {
        super();
        this.a = a;
        this.h1 = h1;
        this.h = h;
    }
    public double getVolume() {
        return a*h1/2*h/3.0;
    }
}
class TotalVolume {
    ICone [] cone;
    public void Setcone(ICone [] t){
        cone = t;
    }
    public double computeTotalVolume() {
        double sum=0;
        for(int i=0; i
            sum+=cone[i].getVolume();
        }
        return sum;
    }
}

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部