编写一个完整的Java Application 程序.包含接口ShapeArea,类Circle,Test,具体要求如下:

编写一个完整的JavaApplication程序。包含接口ShapeArea,类Circle、Test,具体要求如下:(1)接口Shape:接口方法:doublegetA... 编写一个完整的Java Application 程序。包含接口ShapeArea,类Circle、Test,具体要求如下:
(1) 接口Shape:
接口方法:
double getArea():求一个形状的面积
double getPerimeter ():求一个形状的周长
(2) 类Circle:
实现Shape接口,并有以下属性和方法:
属性: radius: double类型,表示圆的半径
方法:
Circle(double r):构造函数
toString()方法 :输出圆的描述信息,如“radius=1.0, perimeter=6.28, area=3.14”
(3) Test类作为主类要完成测试功能
生成Circle对象
调用对象的toString方法,输出对象的描述信息
(4) 基于形状类,增加一个类Square,然后根据产生的随机数来决定生成形状的种类,如是奇数生成一个Circle对象,偶数则生成一个Square对象,使用接口Shape的句柄来引用该生成的对象,计算并输出该形状的周长、面积。
编写如下函数来完成上述功能:
public static void testShape(Shape shape)
把该方法与下列重载的方法进行比较:
public static void testShape(Circle circle)
public static void testShape(Square square)
考虑:如果再增加几种具体的形状类,实现上述功能的两种方式应该如何处理新增加的形状类。
展开
 我来答
Lee小店
推荐于2017-10-01 · TA获得超过1265个赞
知道小有建树答主
回答量:767
采纳率:0%
帮助的人:372万
展开全部
package test1;

import java.util.Scanner;

public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Circle c = new Circle(10);
        System.out.println(c.toString());
        Shape ss =null;
        Scanner sc = new Scanner(System.in);
        System.out.println("输入一个整数来生成图形!");
        int sign = sc.nextInt();
        if(sign%2==0){
            System.out.println("生成长方形");
            System.out.println("输入长度");
            double l = sc.nextDouble();
            System.out.println("输入宽度");
            double w = sc.nextDouble();
            ss = new Square(w,l); 
        }else{
            System.out.println("生成圆形");
            System.out.println("输入半径");
            double r = sc.nextDouble();
            ss= new Circle(r);
        }
        System.out.println(ss.toString());
    }

}
interface Shape{
    double getArea();
    double getParameter();
}
class Circle implements Shape{
    private double radius;
    public Circle(double r) {
        // TODO 自动生成的构造函数存根
        this.radius = r;
    }
    @Override
    public String toString() {
        // TODO 自动生成的方法存根
        return "园的半径是:"+radius+" 面积是:"+getArea()+" 周长是:"+getParameter();
    }
    @Override
    public double getArea() {
        // TODO 自动生成的方法存根
        return Math.PI*radius*radius;
    }
    @Override
    public double getParameter() {
        // TODO 自动生成的方法存根
        return 2*Math.PI*radius;
    }
}
class Square implements Shape{
    private double width;
    private double length;
    Square(double w,double l){
        this.width = w;
        this.length = l;
    }
    @Override
    public String toString() {
        // TODO 自动生成的方法存根
        return "长方形的宽:"+width+" 高:"+length+" 面积:"+getArea()+" 周长:"+getParameter();
    }
    @Override
    public double getArea() {
        // TODO 自动生成的方法存根
        return width*length;
    }
    @Override
    public double getParameter() {
        // TODO 自动生成的方法存根
        return 2*(width+length);
    }
}

大体功能,其他自己改一下。

健客天涯
2013-11-07 · 超过18用户采纳过TA的回答
知道答主
回答量:242
采纳率:0%
帮助的人:113万
展开全部
无法显示网页
您正在查找的页当前不可用。 网站可能遇到支持问题,或者您需要 调整您的浏览器设置。

--------------------------------------------------------------------------------

请尝试以下操作:

单击 刷新按钮,或稍后重试。

如果您已经在地址栏中输入该网页的地址, 请确认其拼写正确。

要检查您的网络连接,请单击工具菜单,然后单击 Internet 选项。在连接选项卡上,单击设置。 设置必须与您的局域网 (LAN) 管理员或 Internet 服务供应商 (ISP) 提供的一致。
查看您的 Internet 连接设置是否正确被检测。您可能设置让 Microsoft Windows 检查您的网站并自动发现网络连接设置(如果您的网络管理员已经启用此设置)。
单击工具菜单,然后单击Internet 选项。
在连接选项卡上,单击LAN 设置。
选择自动检测设置,然后单击确定。
某些站点要求 128-位的连接安全性。单击帮助菜单,然后单击关于 Internet Explorer 可以查看您所安装的安全强度。
如果您要访问某安全站点,请确保您的安全设置能够支持。请单击工具菜单,然后单击 Internet 选项。在“高级”选项卡上,滚动到“安全”部分,复选 SSL 2.0、SSL 3.0、TLS 1.0、PCT 1.0 设置。
单击上一步按钮,尝试其他链接。

找不到服务器或 DNS 错误
Internet Explorer
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式