创建一个 Rec 类。该类存储四个顶点的坐标。构造函数调用一个设置方法 setXXX ,该方法将接收4组坐标,并检查每组坐标是否位于第一象限中,且每个 x 或 y 坐标值是否都不大于20。该设置方法还
时间: 2024-09-28 22:12:53 浏览: 23
创建一个名为`Rec`的类,用于存储四个顶点的坐标,可以按照以下步骤设计:
```java
public class Rec {
private double[] vertices; // 存储四个顶点的坐标
// 构造函数,通过setVertices方法初始化并验证坐标
public Rec(double[] coordinates) throws IllegalArgumentException {
this.vertices = new double[4 * 2]; // 4个顶点,每个顶点有x和y两个坐标
setVertices(coordinates);
}
// 设置顶点坐标的方法,包含坐标验证
private void setVertices(double[] inputCoordinates) throws IllegalArgumentException {
if (inputCoordinates.length != 8) {
throw new IllegalArgumentException("Invalid number of coordinates. Four points expected, each with two values.");
}
for (int i = 0; i < 4; i++) {
double x = inputCoordinates[i];
double y = inputCoordinates[i + 4];
if (x <= 0 || y <= 0 || x > 20 || y > 20) {
throw new IllegalArgumentException("Coordinates must be in the first quadrant and have no coordinate greater than 20.");
}
// 将验证通过的坐标放入vertices数组
vertices[i * 2] = x;
vertices[i * 2 + 1] = y;
}
}
// 获取或操作顶点坐标的方法...
// ...
// 示例:获取第一个顶点的坐标
public double[] getFirstVertex() {
return Arrays.copyOfRange(vertices, 0, 2);
}
// ...其他相关方法...