早教吧 育儿知识 作业答案 考试题库 百科 知识分享

java编程题3有一个抽象类ObjectVolume,如下所示:abstractclassObjectVolume{abstractdoublegetVolume();//返回物体的体积}(1)编写球体类,立方体类和圆柱体类,它们是抽象类ObjectVolume的子类。(2

题目详情
java编程题3
有一个抽象类ObjectVolume,如下所示:
abstract class ObjectVolume
{
abstract double getVolume(); //返回物体的体积
}
(1)编写球体类,立方体类和圆柱体类,它们是抽象类ObjectVolume的子类。
(2)编写一个公共类,其中包含main方法和static void get(ObjectVolume obj)方法。
(3)在main方法中,从键盘上输入1(表示球体)、2(表示立方体)、3(表示圆柱体)时,调用get方法可以分别得到球体、立方体、圆柱体的体积。
▼优质解答
答案和解析
各个类分别编译,用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;
}
}
}
看了 java编程题3有一个抽象类...的网友还看了以下:

已知三棱锥O-ABC,A,B,C三点均在球心为O的球表面上,AB=BC=1,∠ABC=120°,三  2020-04-07 …

质量为m,带电量为+q微粒在O点以初速度v与水平方向成a角射出若加上大小一定,方向水平向左的匀强电  2020-04-26 …

求助一物理题(关于电场)一半径为R的金属球,带电为Q,则球中心O点的电场强度为,其电势为,球内任一  2020-05-21 …

原长为l的橡皮筋一端固定在O点,另一端悬挂一个小钢球,将钢球从O点释放,钢球运动到A点后开始向上返  2020-07-13 …

如图所示,半径为R的均质球质量为M,球心在O点,现在被内切的挖去了一个半径为R2的球形空腔(球心在  2020-07-31 …

在球心为O、半径为a的、电荷体密度为p的均匀带电球体内偏心挖去一个半径为b的小球(球心为o),试证  2020-07-31 …

图中a为一固定放置的半径为R的均匀带电球体,O为其球心.己知取无限远处的电势为零时,球表面处的电势  2020-07-31 …

(2014•贵阳)总长为l的橡皮筋一端固定在O点,另一端悬挂一个小钢球,将钢球从O点释放,钢球运动到  2020-11-13 …

如图所示,质量为m,电量为q的小球B,用绝缘丝线悬挂于O点,球心与O点相距l.在O点正下方有一带同种  2020-12-05 …

月球上面发生了什么?请高手来回答我,我要全部资料1.月球上的15亿年飞船是真是假?回答假的就没必要在  2020-12-21 …