/** * @(#)Circle.java * * * @author * @version 1.00 2011/3/7 */ package net.davidwills.cmis345.shapes; public class Circle { public static final double PI = 3.141592; protected double r; //no-arg ctor. unit circle public Circle() { r = 1.0; } public Circle(double r) { checkRadius(r); this.r = r; } //copy ctor public Circle(Circle that) { this.r = that.r; } public double getRadius() { return r; } public void setRadius(double r) { checkRadius(r); this.r = r; } protected void checkRadius(double r) { if (r < 0) throw new IllegalArgumentException("radius cannot be negative"); } public Circle bigger(Circle that) { if (this.r > that.r) return this; else return that; } public static Circle bigger(Circle a, Circle b) { if (a.r < b.r) return a; else return b; } }