/*
* --测试类 (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();
}
}
Java框架平台研发 3784 架上我们 37335
一半这种问题不会帮你,不是不帮是你太懒