java.awt.Rectangle을 사용하여 두 개의 사각형 사이의 교차를 계산할 때 작업을 개발하고있었습니다.java.awt.Rectangle. intersection()
출력이 예상했던 것과 다른 것을 깨달았습니다. 나는이 방법이 어떻게 작동하는지 이해하지 못했는지 잘 모르겠습니다. 여기 예제에서 값 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) 값을 처리하는 반면, 클래스 doc은 왼쪽 위 모서리임을 제안합니다. 당신의 사각형의
문서를 기대하고 답을 주어야한다은 (x, y)가 왼쪽 상단 모서리를 만드는 것을 말한다. r1 (0, 10)은 왼쪽 위 구석이므로 반대 구석은 (5, 2)이어야합니다. 마찬가지로, r2에 대해 (3, 15) -> (20, 1)? – muhamadto
아니요, 반대쪽 모서리는 클래스 설명서 페이지의 (0 + 5,10 + 8) –
입니다 (http://docs.oracle.com/javase/6/docs/api/java/awt/Rectangle.html#Rectangle). (int, int, int, int) : 왼쪽 위 모서리가 (x, y)로 지정된 새 Rectangle을 만듭니다. – muhamadto