java.awt.Rectangle を使用して 2 つの長方形の交点を計算することにしたとき、私はタスクを開発していました。
思っていたのと違う結果になったことに気づきました。この方法がどのように機能するかを理解したかどうかはわかりません。
ここの例の値については
java.awt.Rectangle[x=0,y=10,width=5,height=8]
java.awt.Rectangle[x=3,y=15,width=17,height=14]
交差することを期待していますjava.awt.Rectangle[x=3,y=10,width=2,height=8]
が、代わりにプログラムが印刷さjava.awt.Rectangle[x=3,y=15,width=2,height=3]
れます!
ここに私のコードがあります:
public void printIntersection(){
Rectangle r1 = new Rectangle(0, 10, 5, 8);
Rectangle r2 = new Rectangle(3, 15, 17, 14);
Rectangle r3 = r1.intersection(r2);
System.out.println(r1);
System.out.println(r2);
System.out.println(r3);
}
ここで何が欠けているかを指摘して、誰かが私を助けることができますか?
更新:私の混乱の原因は、コードがコンストラクターの (x,y) 値を左下隅として扱うのに対し、クラスのドキュメントではそれらが左上隅であると示唆していることです!