解答例 - j2.lesson02.Point

package j2.lesson02;

/**
 * 二次元上の座標を表すクラス.
 @author arakawa
 @version $Id: Point_java.rps,v 1.1 2006/03/06 12:56:15 java2005 Exp $
 */
public class Point {
    
    /** x 座標. */
    double x;
    
    /** y 座標. */
    double y;
    
    /**
     * x,y 座標を指定してインスタンスを生成する。
     @param x x座標
     @param y y座標
     */
    public Point(double x, double y) {
        this.x = x;
        this.y = y;
    }
    
    /**
     * 自分と他の点との距離を求める
     @param p 距離を求める対象の点
     @return 自分と <code>p</code> との距離
     */
    public double distance(Point p) {
        // dx = x1 - x2
        double dx = this.x - p.x;
        
        // dy = y1 - y2
        double dy = this.y - p.y;

        // √(dx^2 + dy^2)
        return Math.sqrt(dx * dx + dy * dy);
    }
}