Lecture Notes on 15 April 2013 class Point { // Attributes public double x; public double y; // Default Constructor public Point () { x = 0.0; y = 0.0; } // Non-default Constructor public Point (double x, double y) { this.x = x; this.y = y; } // Other methods public double dist (Point p) { return Math.hypot (this.x - p.x, this.y - p.y); } public String toString () { String s = "(" + x + ", " + y + ")"; return s; } } class Circle { // Attributes private double radius; private Point center; // Default constructor public Circle () { radius = 1.0; center = new Point (); } // Non-default constructor public Circle (double radius, double x, double y) { this.radius = radius; this.center = new Point (x, y); } // Accessors public double getRadius () { return this.radius; } public Point getCenter () { return this.center; } // Mutators public void setRadius (double radius) { this.radius = radius; } public void setCenter (double x, double y) { this.center.x = x; this.center.y = y; // this.center = new Point (x, y); } // Other methods public double circumference () { return 2.0 * Math.PI * radius; } public double area () { return Math.PI * radius * radius; } public boolean isInside (Circle c) { return (this.radius > (this.center.dist (c.getCenter()) + c.getRadius())); } public boolean doesOverlap (Circle c) { return (this.center.dist (c.getCenter()) <= (this.radius + c.getRadius())); } public String toString () { String s = "Radius: " + radius + " Center: " + center; return s; } } public class Geometry { public static void main (String[] args) { // Create a default Point object Point pointA = new Point (); System.out.println (pointA); // Create a non-default Point object Point pointB = new Point (3.0, 4.0); System.out.println (pointB); // Get distance between the two points System.out.println (pointA.dist(pointB)); // Create Circle objects Circle circleA = new Circle (); // default circle System.out.println (circleA); Circle circleB = new Circle (2.4, 1, 3); // non default circle System.out.println (circleB); System.out.println (circleA.circumference()); System.out.println (circleB.area()); if (circleA.doesOverlap (circleB)) System.out.println ("CircleA overlaps CircleB"); else System.out.println ("CircleA does not overlaps CircleB"); } }