2017-12-14 8 views
-5

방법을 사용하여 포인트를 생성하는 방법은 무엇입니까? 2 점 사이의 거리를 계산하고 싶습니다.방법을 사용하여 포인트를 생성하는 방법은 무엇입니까?

public double getPointA(double x, double y){ 
    return getPointA(x,y); 
} 


public double getPointB(double x, double y){ 
    return getPointB(x,y); 
} 


public double length(double x1, double y1, double x2, double y2){ 
    double x = Math.pow(x2-x1,2); 
    double y = Math.pow(x1-y1,2); 
    double l = Math.sqrt(x+y); 
    return l;   
} 
+0

봐 : https://docs.oracle.com/javase/7/docs/api/java/awt/geom/Point2D.html이 – prsvr

+0

이 일부 변경이 – Jarvis

+0

자, 이제 이유를 수행 한 후 지금 컴파일 Point 클래스가 필요합니까? 거리 방법을 직접 사용하고 있습니다 –

답변

0

귀하의 방법은 Point 아닌 double을 반환

  1. 있습니다.
  2. 끝없이 부름. 이것을 무한 재귀라고 부르지 만 지금은 걱정하지 않아도됩니다.

return new Point2D.Double(x, y)으로 내장 된 Point 클래스를 반환 할 수 있습니다.

All Point2D objects already have a distance() method that accepts another Point2D.

public double getDistance(double x1, double y1, double x2, double y2) { 
    return getPointA(x1, y1).distance(getPointB(x2, y2)); 
} 
+0

다른 대안이 있습니까? 컴파일 할 수 없으므로 "패키지 Point2D가 존재하지 않습니다" – Jarvis

+0

'import java.awt.geom.Point2D' ... – MFisherKDX

+0

@Jarvis 패키지가 아니므로 클래스입니다. 대안은 자신의 Point 클래스를 정의하는 것입니다. 물론 –

0

다음에 수행하는 Point2D.Double 클래스가 있습니다. 예를 들어

Point2D.Double myPoint = new Point2D.Double(1.5, 2.8); 

과 같은 것을 쓸 수 있습니다. 이 두 개체 사이의 거리를 쉽게 찾을 수 있습니다. 여기

double distance = myPoint.distance(yourPoint); 
+0

이 있습니까? 컴파일 할 수 없기 때문에 "패키지 Point2D가 존재하지 않습니다." – Jarvis

+0

Point2D 클래스를 가져와야합니다. –