public class LocationDemo { public static void main(String[] args) { final double STILL_X = -2.0; final double STILL_Y = -1.5; final int ROTATIONS = 2; Location still = new Location(STILL_X, STILL_Y); Location mobile = still.clone(); printData(still, mobile); System.out.println("Rotate one location by two 90 degree turns."); specifiedRotation(mobile, ROTATIONS); printData(still, mobile); //----------------------------------- System.out.println(); Location low = new Location(0,0); Location high = new Location(1000, 5280); Location medium = Location.midpoint(low, high); System.out.println("Location low = " + low.toString()); System.out.println("Location high = " + high.toString()); System.out.println("Location medium = " + medium.toString()); } //------------------------------------------ public static void specifiedRotation(Location p, int n) { while (n > 0) { p.rotate90(); n--; } } //------------------------------------------- public static void printData (Location s, Location m) { System.out.println("Still location is at: " + s.toString()); System.out.println("Mobile location is at: " + m.toString()); System.out.println("Distance between them: " + Location.distance(s, m)); if (s.equals(m)) System.out.println("These two locations have equal coordinates."); else System.out.println("These two locations have different coordinates."); } }