编写一个完整的Java Application 程序

编写一个完整的JavaApplication程序。包含父类Shape,接口IshapeCaculate类Rectangel,Triangle,Test具体要求如下:--父... 编写一个完整的Java Application 程序。
包含父类Shape,接口IshapeCaculate
类Rectangel,Triangle,Test
具体要求如下:
--父类
(1)父类Shape:
name:String类型,形状的名称
color:String类型,形状的颜色
--接口
(2)IshapeCaculate
double getArea():求一个形状的面积
double getPerimeter ():求一个形状的周长

--子类
(3.1)类 Rectangel:
实现接口IshapeCaculate,并有以下属性和方法:
① 属性
width: double类型,表示矩形的长
height: double类型,表示矩形的高
② 方法
Rectangle(double w, double h):构造函数
toString()方法 :输出矩形的描述信息,如“矩形 width=1.0,height=2.0, perimeter=6.0, area=2.0”
(3.2)类Triangle:
实现接口IshapeCaculate,并有以下属性和方法:
① 属性
x,y,z: double型,表示三角形的三条边
s: 周长的1/2(注:求三角形面积公式为sqrt(s(s-x)(s-y)(s-z)) ,s=(x+y+z)/2 ,开方可用Math.sqrt(double)方法)
② 方法
Triangle(double x, double y, double z):构造函数,给三条边和s赋初值。
toString():输出矩形的描述信息,如“三角形 three sides:3.0,4.0,5.0,perimeter=12.0,area=6.0”
(3.3)类Circle
实现接口IshapeCaculate,并有以下属性和方法:
① 属性
radius: double类型,圆的半径
② 方法
Circle(double radius):构造函数
toString()方法 :输出矩形的描述信息,如“圆形 radius=1.0, perimeter=6.28, area=3.14”

--测试类
(4)Test类作为主类要完成测试功能
① 生成Rectangle对象
② 调用对象的toString方法,输出对象的描述信息
展开
 我来答
a2040605
推荐于2017-09-04 · TA获得超过337个赞
知道小有建树答主
回答量:194
采纳率:100%
帮助的人:128万
展开全部
/*
 * --测试类 (4)Test类作为主类要完成测试功能 ① 生成Rectangle对象 ② 调用对象的toString方法,输出对象的描述信息
 */
public class Test {

    public static void main(String args[]) {
        Rectangel rectangel = new Rectangel(1,2);
        System.out.println(rectangel);
        
        Triangle triangle = new Triangle(3,4,5);
        System.out.println(triangle);
        
        Circle circle = new Circle(1);
        System.out.println(circle);
    }
}

/*
 * --父类 (1)父类Shape: name:String类型,形状的名称 color:String类型,形状的颜色
 */
class Shape {

    private String name;
    private String color;
}

/*
 * --接口 (2)IshapeCaculate double getArea():求一个形状的面积 double getPerimeter
 * ():求一个形状的周长
 */
interface IshapeCaculate {

    public double getArea();

    public double getPerimeter();
}

/*
 * --子类 (3.1)类 Rectangel: 实现接口IshapeCaculate,并有以下属性和方法: ① 属性 width:
 * double类型,表示矩形的长 height: double类型,表示矩形的高 ② 方法 Rectangle(double w, double
 * h):构造函数 toString()方法 :输出矩形的描述信息,如“矩形 width=1.0,height=2.0, perimeter=6.0,
 * area=2.0”
 */
class Rectangel extends Shape implements IshapeCaculate {

    private double width;
    private double height;

    public Rectangel(double w, double h) {
        this.width = w;
        this.height = h;
    }

    @Override
    public double getArea() {
        return width * height;
    }

    @Override
    public double getPerimeter() {
        return 2 * (width + height);
    }

    public String toString() {
        return "矩形 width=" + width + ",height=" + height + ", perimeter=" + getPerimeter() + ",area=" + getArea();
    }
}

/*
 * (3.2)类Triangle: 实现接口IshapeCaculate,并有以下属性和方法: ① 属性 x,y,z:double型,表示三角形的三条边 s:
 * 周长的1/2(注:求三角形面积公式为sqrt(s(s-x)(s-y)(s-z)) ,s=(x+y+z)/2
 * ,开方可用Math.sqrt(double)方法) ② 方法 Triangle(double x, double y, double
 * z):构造函数,给三条边和s赋初值。 toString():输出矩形的描述信息,如“三角形 three
 * sides:3.0,4.0,5.0,perimeter=12.0,area=6.0” --测试类 (4)Test类作为主类要完成测试功能 ①
 * 生成Rectangle对象 ② 调用对象的toString方法,输出对象的描述信息
 *
 */
class Triangle extends Shape implements IshapeCaculate {

    private double x;
    private double y;
    private double z;
    private double s;

    public Triangle(double x, double y, double z) {
        this.x = x;
        this.y = y;
        this.z = z;
        s = getPerimeter() / 2;
    }

    @Override
    public double getArea() {
        return Math.sqrt(s * (s - x) * (s - y) * (s - z));
    }

    @Override
    public double getPerimeter() {
        return x + y + z;
    }

    public String toString() {

        return "三角形 three sides:" + x + "," + y + "," + z + ",perimeter=" + getPerimeter() + ",area=" + getArea();
    }
}

/*
 * (3.3)类Circle实现接口IshapeCaculate,并有以下属性和方法: ① 属性 radius: double类型,圆的半径 ② 方法
 * Circle(double radius):构造函数 toString()方法 :输出矩形的描述信息,如“圆形 radius=1.0,
 * perimeter=6.28, area=3.14”
 */
class Circle extends Shape implements IshapeCaculate {

    private double radius;

    public Circle(double radius) {
        this.radius = radius;
    }

    @Override
    public double getArea() {
        return Math.PI * Math.pow(radius, 2);//圆周率*半径的平方
    }

    @Override
    public double getPerimeter() {
        return 2 * 3.1415926 * radius;
    }

    public String toString() {
        return "圆形 radius=" + radius + ",perimeter=" + getPerimeter() + ", area=" + getArea();
    }
}
少女心Eve
2014-12-23 · 记录美好生活每一天,分享生活新鲜事。
少女心Eve
采纳数:590 获赞数:714

向TA提问 私信TA
展开全部
Java框架平台研发 3784 架上我们 37335
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-12-23
展开全部
一半这种问题不会帮你,不是不帮是你太懒
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式