public class Punto { private double x, y; public Punto(double xInicial, double yInicial) { x = xInicial; y = yInicial; } public Punto() { } public Punto(Punto otroPunto) { x = otroPunto.x; y = otroPunto.y; } public Punto crearCopia() { return new Punto(x,y); } public double getX() { return x; } public double getY() { return y; } public void setX(double nuevaX) { x = nuevaX; } public void setY(double nuevaY) { y = nuevaY; } public void cambiar(double nuevaX, double nuevaY) { x = nuevaX; y = nuevaY; } public void mover(double desplazamientoX, double desplazamientoY) { x += desplazamientoX; y += desplazamientoY; } public double distancia(Punto otroPunto) { return Math.sqrt( Math.pow(otroPunto.x - x, 2) + Math.pow(otroPunto.y - y, 2) ); } public Punto puntoMedio(Punto otroPunto) { return new Punto((x + otroPunto.x)/2 , (y + otroPunto.y)/2); } public void ver() { System.out.print("(" + x + ", " + y + ")"); } public String toString() { return "(" + x + ", " + y + ")"; } public boolean equals(Object otroObjeto) { if (! (otroObjeto instanceof Punto)) return false; Punto otroPunto = (Punto) otroObjeto; return otroPunto.x == x && otroPunto.y == y; } }