各个类分别编译,用Test类运行。
abstract class ObjectVolume
{
abstract double getVolume(); //返回物体的体积
}
public class Sphere extends ObjectVolume{
double Radius;
public double getRadius(){
return this.Radius;
}
public void setRadius(double r){
this.Radius=r;
}
public double getVolume(){
return 4*Math.PI*Radius*Radius*Radius/3;
}
public Sphere(double r) {
this.Radius=r;
}
}
public class Cube extends ObjectVolume{
double sidelength;
public double getSidelength(){
return this.sidelength;
}
public void setSidelength(double l){
this.sidelength=l;
}
public double getVolume(){
return sidelength*sidelength*sidelength;
}
public Cube(double l) {
this.sidelength=l;
}
}
public class Cylinder extends ObjectVolume{
private double h;
private double r;
public Cylinder(double r,double h) {
this.h=h;
this.r=r;
}
public double getRadius(){
return this.r;
}
public double getHeight(){
return this.h;
}
double getVolume(){
return Math.PI*r*r*h;
}
}
import java.util.Scanner;
public class Test {
static double get(ObjectVolume obj){
double v=obj.getVolume();
return v;
}
public static void main(String[] args) {
System.out.println("请输入整数(1-3):");
Scanner sc=new Scanner(System.in);
int input=sc.nextInt();
double v;
switch(input){
case 1:
Sphere obj=new Sphere(2.0);
v=get(obj);
System.out.println("球体的体积是:"+v);
break;
case 2:
Cube obj1=new Cube(2.0);
v=get(obj1);
System.out.println("立方体的体积是:"+v);
break;
case 3:
Cylinder obj2=new Cylinder(2.0,5.0);
v=get(obj2);
System.out.println("圆柱体的体积是:"+v);
break;
}
}
}
作业帮用户
2017-06-11
举报