java编程类问题

来源:百度知道 编辑:UC知道 时间:2024/07/02 11:28:29
1、下面有一个圆形类:
class circle
{
static double PI=3.14159
double r; //该成员表示半径
public circle(r)
{ this.r=r}
double area(double r) //计算面积的方法
{.......略
}
}
请写出
1)球形类、圆柱类、圆锥类(自己命名类名称),要求从circle派生
2)在1)中每个类的中构造方法要求调用父类的构造方法。
3)在1)中每个类要求写出计算表面积和体积的方法。
4)设计类 class ch2 ,要求在类ch2中的主方法main中创建circle类,球形类,圆柱类,圆锥类的对象,并且计算面积,表面积,和体积并输出。
计算公式:

形状 表面积 体积
球体: 表面积= 4πr2 体积= 4/3πr3
圆柱体: 表面积= 2πrh+2πr2 体积= πr2h
圆锥体: 表面积=πr√r2+h2 +πr2
体积= 1/3πr2h

class circle{ //这里circle你用了小写,下面的类都用小写
static final double PI=3.14159; //常量要加final以避免改变
double r;
circle(double r){this.r=r;}
double area(){return PI*r*r;}
}
class ball extends circle{
ball(double r){super(r);}
double area(){return 4.0*PI*r*r;}
double volume(){return 4/3*PI*r*r*r;}
}
class column extends circle{
double h;
column(double r,double h){super(r);this.h=h;}
double area(){return 2.0*PI*r*(h+r);}
double volume(){return PI*r*r*h;}
}
class taper extends circle{
double h;
taper(double r,double h){super(r);this.h=h;}
double area(){return PI*r*(r+Math.hypot(r,h));}
double volume(){return PI*r*r*h/3;}
}
public class ch2{
public static void main(String[] args){
circle c=new circle(2); System.out.println("半径为2的圆的面积为:"+c.area());
ball b=new ball(2); System.out.println("半径为2的球的表面积为:"+b.area()+" 体积为:"+b