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

根据以上类图,你需要设计和编写如下类:
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;
}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
