【发布时间】:2016-09-04 17:13:25
【问题描述】:
您好,我正在尝试创建此构造函数:public Rectangle createIntersection(Rectangle r){ .... 返回一个新的 Rectangle 对象,该对象表示此 Rectangle 与指定 Rectangle 的交集。
到目前为止,我已经为构造函数做了这个,但我不确定它是否正确:
public Rectangle createIntersection(Rectangle r) {
Rectangle r1 = new Rectangle () ;
Rectangle r2 = new Rectangle ();
r2.setRect(r);
r2.createIntersection(r1);
return r2;
}
然后我应该创建这个构造函数public Boolean intersects (Rectangle r),如果它与指定的 Rectangle 相交则返回 true,否则返回 false。如果它们的内部重叠,则据说它们相交。所以我知道为此我需要使用四个实例变量,我一直在使用(int x int y int height and int width)。我知道它必须通过做x + width 来确定它是否相交,如果这个值小于它对面的点,那么矩形是重叠的。我不知道怎么写。
【问题讨论】:
-
"I am trying to make this constructor: public Rectangle createIntersection(Rectangle r){ ...."-- 这不是构造函数。请澄清。 -
这个函数永远不会返回。
-
提示:先做数学。坐下,拿一支笔和一张纸。手动绘制矩形;看看你是否能计算出可能的交叉点的不同类别(如果我没有弄错,你只需要担心三种不同的情况)。所以,创建一个“算法”;以及当它在纸上起作用时;尝试将其放入代码中。当你不知道数学应该如何计算时,不要试图解决编程难题。你在学骑独轮车的时候也不会学杂耍,对吗?
-
为什么?
java.awt.Rectangle.createIntersection()已经存在。
标签: java graphics2d