class Point { private double x; private double y; Point(double _x, double _y) { x = _x; y = _y; } void setX(double _x) { x = _x; } void setY(double _y) { y = _y; } double getX() { return x; } double getY() { return y; } } class Circle { private Point o; private double radius; Circle(Point p, double r) { o = p; radius = r; } Circle(double r) { o = new Point(0.0, 0.0); radius = r; } void setO(double x, double y) { o.setX(x); o.setY(y); } void setR(double r) { radius = r;} Point getO() { return o; } double getR() { return radius; } double area() { return 3.14 * radius * radius; } boolean contains(Point p) { double x = p.getX() - o.getX(); double y = p.getY() - o.getY(); if((x*x + y*y) > radius*radius) { return false; } else { return true; } } } public class TestCircle { public static void main(String[] args) { Circle c1 = new Circle(new Point(5.0, 6.0), 5.0); Circle c2 = new Circle(2.0); System.out.println(c1.getO().getX() +" " + c1.getO().getY() + " " + c1.getR()); System.out.println(c2.getO().getX() +" " + c2.getO().getY() + " " + c2.getR()); c1.setO(2.0, 3.0); System.out.println(c1.getO().getX() +" " + c1.getO().getY() + " " + c1.getR()); System.out.println(c1.area()); System.out.println(c2.contains(new Point(5.0, 6.0))); } }