Untitled
unknown
plain_text
2 years ago
1.6 kB
3
Indexable
package byow.Core; import java.io.Serializable; public class Position implements Serializable { private int x; private int y; public Position(int x, int y) { this.x = x; this.y = y; } public int getX() { return x; } public int getY() { return y; } /** * Returns the euclidean distance (L2 norm) squared between two points * (x1, y1) and (x2, y2). Note: This is the square of the Euclidean distance, * i.e. there's no square root. */ private static double distance(double x1, double x2, double y1, double y2) { return Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2); } /** * Returns the euclidean distance (L2 norm) squared between two points. * Note: This is the square of the Euclidean distance, i.e. * there's no square root. */ public static double distance(Position p1, Position p2) { return distance(p1.getX(), p2.getX(), p1.getY(), p2.getY()); } @Override public boolean equals(Object other) { if (other == null) { return false; } if (other.getClass() != this.getClass()) { return false; } Position otherPoint = (Position) other; return getX() == otherPoint.getX() && getY() == otherPoint.getY(); } @Override public int hashCode() { return Double.hashCode(x) ^ Double.hashCode(y); } @Override public String toString() { return String.format("Point x: %.10f, y: %.10f", x, y); } }
Editor is loading...