Java 变换形状分配!(需要帮助!)

Java 变换形状分配!(需要帮助!),java,inheritance,Java,Inheritance,我已经完成了形状分配,我的编码也差不多完成了。 然而,我不知道如何为这个方法编码 public Point2D apply(Point2D p) { } “我和教授谈过,”他说,“apply()需要创建给定点的副本,然后转换副本。 您已经制作了副本;现在请在返回副本之前转换副本。“ 有人能根据他所说的为我编写这种方法的代码吗 关于,“您已经制作了副本;现在请在返回副本之前转换副本。” 你的老师给了你答案。调用transform方法,并使用copy 听着,我想我再清楚不

我已经完成了形状分配,我的编码也差不多完成了。 然而,我不知道如何为这个方法编码

    public Point2D apply(Point2D p) {

        }
“我和教授谈过,”他说,“apply()需要创建给定点的副本,然后转换副本。 您已经制作了副本;现在请在返回副本之前转换副本。“

有人能根据他所说的为我编写这种方法的代码吗

关于,

“您已经制作了副本;现在请在返回副本之前转换副本。”

你的老师给了你答案。调用transform方法,并使用copy

听着,我想我再清楚不过了

    Point2D newPoint = new Point2D (x, y);
    transform(newPoint);  // <---- You need to add this line
    return newPoint;
point2dnewpoint=newpoint2d(x,y);

变换(新点);// 在代码中,必须使用
transform()
方法:

public Point2D apply(Point2D p) {
    double x = p.getX();
    double y = p.getY();
    Point2D newPoint = (Point2D) p.clone();
    transform(newPoint);
    return newPoint;
}
public void transform(Point2D p) {
    double x = p.getX();
    double y = p.getY();
    double newx = Math.cos(radians) * x - Math.sin(radians) * y;
    double newy = Math.sin(radians) * x + Math.cos(radians) * y;
    p.setLocation(newx, newy);
}
如果要将一个点(x,y)围绕另一个点(center_x,center_y)旋转一定度数(角度),这可能有助于:

public float[] rotatePoint(float x, float y, float center_x, float center_y,
        double angle) {
    float x1 = x - center_x;
    float y1 = y - center_y;
    double angle2 = Math.toRadians(angle);
    float res_x, res_y;
    res_x = (float) (x1 * Math.cos(angle2) - y1 * Math.sin(angle2));
    res_y = (float) (x1 * Math.sin(angle2) + y1 * Math.cos(angle2));
    x = res_x + center_x;
    y = res_y + center_y;

    float[] res = { x, y };
    return res;
}

您的代码段未显示要应用的转换。应用什么旋转?请提供更多信息。这不仅仅是转换(newPoint);在返回之前?您是否正在使用Point2D实现?或者JDKDon中的一个,在您解决问题后,不要编辑您的问题并删除所有内容。这个网站的全部目的是共享信息。不,他已经有了旋转一个点的代码。他只需要在给定的apply()点的副本上执行。