设计一个点类Point,再设计一个矩形类,矩形类使用Point类的两个坐标点作为矩形的对角顶点(分别为左上顶点和右下顶点)。并输出4个顶点的坐标和面积。
时间: 2024-02-11 13:09:54 浏览: 88
C++实现一个矩形 读入左上角和右下角两个点实现面积计算
5星 · 资源好评率100%
好的,下面是Java语言的实现代码:
```java
public class Point {
private int x;
private int y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
}
public class Rectangle {
private Point p1;
private Point p2;
public Rectangle(Point p1, Point p2) {
this.p1 = p1;
this.p2 = p2;
}
public int getArea() {
int width = Math.abs(p2.getX() - p1.getX());
int height = Math.abs(p2.getY() - p1.getY());
int area = width * height;
return area;
}
public Point[] getVertices() {
int x1 = p1.getX();
int y1 = p1.getY();
int x2 = p2.getX();
int y2 = p2.getY();
Point[] vertices = {new Point(x1, y1), new Point(x2, y1), new Point(x2, y2), new Point(x1, y2)};
return vertices;
}
}
public class Main {
public static void main(String[] args) {
Point p1 = new Point(0, 0);
Point p2 = new Point(4, 3);
Rectangle rect = new Rectangle(p1, p2);
System.out.println("矩形的四个顶点坐标:");
Point[] vertices = rect.getVertices();
for (int i = 0; i < vertices.length; i++) {
System.out.println("(" + vertices[i].getX() + ", " + vertices[i].getY() + ")");
}
System.out.println("矩形的面积:" + rect.getArea());
}
}
```
运行结果如下:
```
矩形的四个顶点坐标:
(0, 0)
(4, 0)
(4, 3)
(0, 3)
矩形的面积:12
```
其中,Point类表示一个点,有两个私有属性x和y,构造方法用于初始化这两个属性,getX和getY方法用于获取这两个属性的值。Rectangle类表示一个矩形,有两个私有属性p1和p2,分别表示左上角和右下角的点。构造方法用于初始化这两个属性,getVertices方法返回矩形的四个顶点坐标,getArea方法返回矩形的面积。在主程序中,我们创建了一个点p1(0,0)和一个点p2(4,3),然后用它们创建了一个矩形rect。最后我们输出矩形的四个顶点坐标和面积。
阅读全文