注册 登录
重磅消息:开通VIP会员,获取平台所有项目,永久使用,详细请咨询QQ:3376762016
远程服务部署安装,售后服务,请加QQ1:3376762016,QQ2:3597230140(即将满员),QQ3:1399491757(已满)
查看: 849|回复: 0
打印 上一主题 下一主题

Shape抽象类 Trangle Rectangle Circle 子类 计算周长 和面积

[复制链接]

该用户从未签到

3518

主题

3532

帖子

66万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
668954
QQ
跳转到指定楼层
楼主
发表于 2020-11-21 14:35:51 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式


public class Test {

        public static void main(String[] args) {
                double a = 4, b = 5, c = 6;
                //三角形
                Trangle t = new Trangle(a, b, c);
                double area = t.getArea(a, b);
                double perimeter = t.getPerimeter();
                System.out.println("三角形的面积是: " + area);
                System.out.println("三角形的周长是:" + perimeter);
                System.out.println("是否组成三角形:"+t.isXJX());

                //矩形
                a = 3;
                b = 4;
                Tectangle r = new Tectangle();
                area = r.getArea(a, b);
                perimeter = r.getPerimeter(a, b);
                System.out.println("矩形的面积是: " + area);
                System.out.println("矩形的周长是: " + perimeter);

                //圆形
                Circle circle = new Circle(5);
                area = circle.getArea(3, 3);
                perimeter = circle.getPerimeter();
                System.out.println("圆形的面积是: " + area);
                System.out.println("圆形的周长是: " + perimeter);

        }

}

abstract class Shape {
    public abstract double getArea(double a,double b);
    public double getPerimeter(double a,double b,double c){
        return a+b+c;
    }

}

class Trangle extends Shape{
    private double a;

    private double b;

    private double c;

    private double perimeter;

    private double area;

    public Trangle(double a, double b, double c) {
            this.a = a;
            this.b = b;
            this.c = c;
    }

    public double getPerimeter(){
            perimeter= a+b+c;
            return perimeter;
    }

    public double getArea(double a,double b){
            double p=(a+b+c)/2;
            area= Math.sqrt(p*(p-a)*(p-b)*(p-c));
            return area;
    }

    public boolean isXJX(){
            if(a+b>c){
                    return true;
            }else if(a+c>b){
                    return true;
            }else if(b+c>a){
                    return true;
            }
            return false;
    }

}

class Tectangle extends Shape{
    private double a,b;
    private double perimeter;

        private double area;
    public double getArea(double a,double b){
            area= a*b;
            return area;
    }
    public double getPerimeter(double a,double b){
            perimeter= (a+b)*2;
            return perimeter;
    }
}


class Circle extends Shape{


    private double r;

    private double perimeter;

    private double area;

    public Circle(double radius) {

            this.r = radius;

    }

    public Circle() {

    }

    public double getPerimeter(){
            perimeter=2*Math.PI*r;
            return perimeter;
    }

    public double getArea(double a,double b){

         area=Math.PI*r*r;
         return area;
    }
}



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
java无忧网(http://www.javawyw.com),专业提供Java大作业,小作业,课程设计,毕业设计源码,答辩辅导,作业排错,bug修复,专业解答,远程部署运行项目等服务
本网站所有源码,保证能运行!
QQ:1399491757
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回列表 返回顶部