编写一个完整的Java Application 程序

2024-11-18 06:19:51
推荐回答(3个)
回答1:

/*
 * --测试类 (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();
    }
}

回答2:

Java框架平台研发 3784 架上我们 37335

回答3:

一半这种问题不会帮你,不是不帮是你太懒