/** Rappresenta un punto nel piano cartesiano (a coordinate double) */ public class Punto { private double x, y; /** Costruttori */ public Punto ( double x, double y ) { this.x = x; this.y = y; } public Punto () { this(0.0, 0.0); } /** Metodi */ /** Metodi set/get */ public void setX ( double x ) { this.x = x; } public void setY ( double y ) { this.y = y; } public double getX () { return x; } public double getY () { return y; } /** Metodo distance */ public double distance ( Punto p ) { return Math.sqrt ( ( x-p.x ) * (x-p.x) + (y-p.y) * (y-p.y) ); } /** Metodo equals */ public int hashCode() { return 0; } public boolean equals ( Object o ) { if ( o instanceof Punto ) { Punto p = (Punto) o; return ( p.x == x && p.y == y ); } else return false; } /** Metodo toString */ public String toString() { return "(" + x + "," + y + ")"; } }