JAVA声明圆锥体类,实现Area和Volume接口,计算表面积和体积,按体积比较大小

public class 圆锥体 {
    public static void main(String[] args) {
        Cone c1 = new Cone(3, 4);
        Cone c2 = new Cone(6, 8);
        System.out.println(c1.compare_size(c2));
        System.out.println(c1.Height());
        System.out.println(c1.Radius());
        System.out.println(c1.GetArea());
        System.out.println(c1.GetVolume());
        System.out.println(c1.toString());
    }
}

interface Area {
    public abstract double GetArea(double r, double h);
}

interface Volume {
    public abstract double GetVolume(double r, double h);
}

class Cone implements Area, Volume {
    private double r, h;

    public Cone() {
    }

    public Cone(double r, double h) {
        this.h = h;
        this.r = r;
    }

    public double Radius() {
        return r;
    }

    public double Height() {
        return h;
    }

    public double GetArea(double r, double h) {
        return Math.PI * r * Math.sqrt(h * h + r * r) + Math.PI * r * r;
    }

    public double GetArea() {
        return GetArea(this.r, this.h);
    }

    public double GetVolume(double r, double h) {
        return Math.PI * r * r * h / 3;
    }

    public double GetVolume() {
        return GetVolume(this.r, this.h);
    }

    public boolean compare_size(Cone c) {
        return this.GetVolume(this.r, this.h) > c.GetVolume(c.r, c.h);
    }

    public String toString() {
         return "底面半径为:"+r+","+"高为:"+h+","+"母线长为:"+Math.sqrt(h*h+r*r);
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值